Loading... # Linux安装Redis ## 1下载Redis源码包 [Redis下载地址](http://download.redis.io/releases/) 本文下载的是 redis-6.2.4.tar.gz ## 2 安装Redis ## 2.1 检查编译环境 本文使用的是源码安装方式,需要配置gcc编译环境。 ``` gcc -v ``` 出现下面提示则成功  如果没有编译环境则必须要安装 ``` apt install gcc ``` ## 2.2 编译和安装Redis ### 2.2.1 解压Redis 上传压缩包到服务器。 解压压缩包: ``` tar -zxvf redis-4.0.11.tar.gz ``` 将解压后的目录剪切到自己要安装的目录: ``` mv redis-4.0.11 /usr/local/redis ``` 解压之后可以查看下目录下具体有哪些文件和目录: ``` cd /usr/local/redis/ pwd ls ```   ### 2.2.2 开始编译 运行make命令: ``` make ``` 如果出现下面错误则运行命令`apt-get install build-essential`:  ``` apt-get install build-essential ``` 成功make之后的提示:  ### 2.2.3 开始安装 切换到安装目录 (可以查看下目录下有哪些文件): ``` cd /usr/local/redis/src/ ls ```  > redis-server:redis的启动脚本 > redis-cli:redis的客户端连接命令 执行安装命令: ``` make install ``` 出现如下截图表示安装成功。  ## 3 Redis的启动和关闭,以及测试 ### 3.1 Redis的启动 从第二步我们知道了redis的一些启动和关闭的脚本是放在src目录下,现在我们只需要在该目录下启动脚本即可 ``` ./redis-server ``` 出现如下截图表示启动成功:  可以仔细查看上面的截图:可以获得的信息有redis的版本信息,启动改服务占用的端口号是6379 ,该服务的进程ID是22640。更细一点可以发现有一个警告信息,意思是说启动的时候没有指定配置文件,则使用默认的配置文件启动。如果需要指定一个配置文件,使用的命令为./redis-server /path/to/redis.conf(该文件是文件的绝对路径)。 最后一行说明服务端已经启动成功,正在等待客户端的连接。 ### 3.2 Redis的测试 现在我们另外开一个窗口,然后用客户端验证,是否可以成功使用:(需要注意的是使用redis-cli命令时需要在src目录下。使用set命令是创建键值对,使用get命令是获取age这个键的值,如果出现如下截图所示,则表示成功)。 ``` cd /usr/local/redis/src/ redis-cli ```  ### 3.3 Redis的关闭 只需要直接关闭服务端窗口,一个ctrl+c即可。 > 上面已经完成了redis的安装,但是会发现在使用时非常不方便,不方便的地方有以下几点: > > * 使用时服务端的窗口不能关闭,一旦关闭后服务自动停止,客户端连接不了 > * 使用命令是必须在指定的目录下,每次都需要切换目录非常麻烦 > * 在使用客户端连接的服务端时没有使用密码是否会不安全 下面将是一些优化的方法。 ## 4 Redis优化 ### 4.1 Redis后台启动 针对第一点的解决办法:修改配置文件,启动时读取指定的配置文件。 拷贝配置文件到定制的目录: ``` cd /usr/local/redis/ mkdir etc cp redis.conf etc/ ``` 修改配置文件: ``` vim /usr/local/redis/etc/redis.conf ``` 将daemonize改为yes,保存退出。  重新启动验证是否成功: ``` cd /usr/local/redis/src/ ./redis-server /usr/local/redis/etc/redis.conf ``` 客户端验证是否可以查询:(验证成功)  ### 4.2 设置环境变量 针对第二点的解决办法:为redis设置环境变量,便于在所有目录下都可以可以使用启动和停止。 创建命令目录: ``` mkdir /usr/local/redis/bin ``` 将命令脚本拷贝或者剪切到命令目录: ``` cp redis-cli redis-server redis-sentinel redis-check-aof redis-benchmark /usr/local/redis/bin/ ``` 配置环境变量: ``` vim /etc/profile ``` 在文件的末尾添加这两行  使环境变量生效: ``` source /etc/profile ``` 切换到任意目录检测是否成功:  停止命令: ``` pkill redis-server ```  ### 4.3 客户端配置密码 针对第三点的解决办法:修改配置文件,开启秘密验证设置密码(大概在文件500行左右,将requirepass参数前的#去掉,然后把后面的foobared改为你需要设置的密码) 重启服务,验证密码设置是否成功: ``` redis-server /usr/local/redis/etc/redis.conf ``` 无密码登录: ``` redis-cli ``` 可见需要认证:  使用密码登录,运行: ``` redis-cli -a 密码 ```  ## 5 Redis安装小结 > redis启动:redis-server /usr/local/redis/etc/redis.conf> redis停止:pkill redis-server 或者redis-cli shutdown > redis默认使用端口:6379 > redis默认不使用守护进程启动(后台启动) > redis默认不开启密码使用 > redis 2左右的版本依然不支持集群的模式,如需使用集群尽量使用新的版本 > 安装redis之前一定要有编译环境,如果没有需要安装之后才可以使用 ## 6 Windows远程连接 ### 6.1 关闭Redis安全防护 修改配置文件,关闭redis安全防护: ``` vim /usr/local/redis/etc/redis.conf ```  ### 6.2 防火墙中开放6379端口 ``` firewall-cmd --zone=public --add-port=6379/tcp --permanent #如果提示没有安装命令则: apt install firewalld ```  ### 6.3 重启防火墙 ``` systemctl restart firewalld ``` ### 6.4 启动Redis 注意修改配置文件,把bind:127.0.0.1注释掉加上自己的(默认127.0.0.1是本机): ``` vim /usr/local/redis/etc/redis.conf ``` 然后杀掉127.0.0.1的进程: ``` ps -ef|grep redis kill pid ``` 连接redis: ``` redis-cli -h ip -p port -a password ``` 成功后的截图  ## 7 SpringBoot配置Redis ### 7.1 Maven添加依赖 ``` <!--集成redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` ### 7.2 更改application.properties ``` # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=上面自定义的ip # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password=上面自定义的密码 #连接池最大连接数(使用负值表示没有限制) spring.redis.jedis.pool.max-active=500 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.jedis.pool.max-wait=-1 # 连接池中的最大空闲连接 spring.redis.jedis.pool.max-idle=20 # 连接池中的最小空闲连接 spring.redis.jedis.pool.min-idle=0 # 连接超时时间(毫秒) spring.redis.timeout=5000 ``` 后面的工具类和配置类某复制粘贴博客社区挺多的就不贴上来了。 **其实咱们最需要的是前面的6步。** <div class="tip inlineBlock info"> 特此记录! </div> <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://www.anleenoxu.top/archives/369.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://www.anleenoxu.top/usr/uploads/2021/04/945829302.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Springboot+Spring Security+Redis+JPA+达梦+Layui+Echarts项目技术整理(一):概览</p> <div class="inster-summary text-muted"> 项目技术框架项目技术整体框架:SpringBoot权限控制:Spring Security持久层:JPA+Dame... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> Last modification:June 19th, 2021 at 04:32 pm © 允许规范转载 Support 喜欢就加个鸡腿吧! Appreciate the author 支付宝微信