0.前言
Redis是一个开源的临时使用C语言编写的键值存储数据库。学习视频:【linux系统安装配置redis】
Redis在Web上可以利用中层做状态服务器,主要用于存储缓存登录,模板锁,SessionID,WebSocket等,发挥所有的访问和操作进行验证的作用。
1.编译环境
安装Redis时需对二进制包编译,此步骤依赖gcc编译器,如果没有gcc环境,则需要自行安装,联网安装命令yum install gcc gcc-c ++
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" />gcc -v#检查是否有gcc编译器</span></span></span></span>
2.安装Redis
2.1下载原始包
这里提供两种方式,官网下载或者下载推荐的Redis-5.0.4版本
1)官网下载:http : //download.redis.io/releases/
2)Redis-5.0.4:redis-5.0.4.tar.gz
2.2安装Redis
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" /><code>mkdir /usr/redis # 创建 Redis 目录
cd /usr/redis # 进入目录
# 将 Redis 安装包传输到该目录下 #
tar -zxvf redis-<span style="color:teal">5.0</span><span style="color:teal">.4</span>.tar.gz # 解压安装包
cd /usr/redis/redis-<span style="color:teal">5.0</span><span style="color:teal">.4</span> # 进入解压目录
make
make test
make install # 安装命令
redis-server -v # 检查安装结果
</code></span></span></span></span>
3.修改配置
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" />vi /usr/redis/redis-5.0.4/redis.conf#编辑redis.conf配置文件</span></span></span></span>
修改如下内容:
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" /><code>bind <span style="color:teal">127.0</span><span style="color:teal">.0</span><span style="color:teal">.1</span> ---> # bind <span style="color:teal">127.0</span><span style="color:teal">.0</span><span style="color:teal">.1</span>
protected-mode yes ---> protected-mode no
daemonize no ---> daemonize yes # 默认以后台程序方式运行,不需要加&强制后台运行了
port <span style="color:teal">6379</span> ---> port <span style="color:teal">7379</span> # 将端口改为 <span style="color:teal">7379</span>
pidfile /<span style="color:teal">var</span>/run/redis_6379.pid ---> pidfile /<span style="color:teal">var</span>/run/redis_7379.pid # 将端口改为 <span style="color:teal">7379</span>
# requirepass foobared ---> requirepass <span style="color:teal">123456</span> # <span style="color:teal">123456</span>为密码可任意替换
maxmemory <span style="color:teal">2147483648</span> # 配置内存为 <span style="color:teal">2</span>G 单位是 byte,也可以配置成其他大小,推荐大小为<span style="color:teal">2</span>G(需添加内容)
maxmemory-policy volatile-lru # 过期策略,LRU 近期最少使用算法(需添加内容)</code></span></span></span></span>
4.运维知识
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" /><code>cd /usr/redis/redis-<span style="color:teal">5.0</span><span style="color:teal">.4</span>/src #进入 src 目录
./redis-server /usr/redis/redis-<span style="color:teal">5.0</span><span style="color:teal">.4</span>/redis.conf #启动 Redis 时需指定配置文件
redis-cli -p 端口 -a 密码 #本地启动Redis客户端,可以进行查看key值,删除key值,检查redis状态等操作
redis-cli -p 端口 -a 密码 shutdown #停止redis
redis-cli -h ip -p 端口 -a 密码 #远程连接Redis服务,ip和端口为要连接的Redis服务
</code></span></span></span></span>
更多运维操作,详情见:Linux系统Redis运维手册
5.常见问题文档
5.1出现部分模板锁死的情况
原因:Redis中存入脏数据,导致模板锁死
解决方案:Redis缓存服务器里有脏数据,清理Redis
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" /><code>cd /usr/redis/redis-<span style="color:teal">5.0</span><span style="color:teal">.4</span>/src # 访问 redis 根目录
redis-cli -p 端口 -a 密码 # 启动客户端
keys * # 查看所有 key 值
flushall # 清空整个 Redis 服务器的数据</code></span></span></span></span>
##如果Redis中存储的有其他非工程相关的重要数据,不能这样清除##
5.2执行make命令时报错
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" /><code>make[<span style="color:teal">1</span>]: *** NO rule to make target <span style="color:#dd1144">'release.h'</span>,needed by <span style="color:#dd1144">'release.o'</span>. Stop.
make[<span style="color:teal">2</span>]: Leaving directory <span style="color:#dd1144">'/usr/redis/redis-5.0.4/src'</span>
[<span style="color:teal">1</span>]+ Exit <span style="color:teal">2</span> make</code></span></span></span></span>
解决方案:找到这个文件mkreleasehdr.sh(若按照本文档安装,则mkreleasehdr.sh在 /usr/redis/redis-5.0.4/src目录),执行命令 chmod 777 mkreleasehdr.sh,然后返回到redis-5.0.4目录,重新执行安装命令即可。
5.3平台登录失败
redis服务器保存时报错:MISCONF Redis配置为保存RDB快照,但当前无法持久保存在磁盘上。禁用了可能会修改数据集的命令。请检查Redis日志以获取有关错误的详细信息
解决方案:关闭配置项stop-writes-bgsave-error
<span style="color:#000000"><span style="color:#334356"><span style="color:#334356"><span style="color:#1bc1a1"><img class="clippy" alt="复制到剪贴板" src="https://help.finereport.com/js/clipboard/clippy.png" data-cke-saved-src="https://help.finereport.com/js/clipboard/clippy.png" /><code>redis-cli -p 端口 -a 密码 # 启动客户端
<span style="color:teal">127.0</span><span style="color:teal">.0</span><span style="color:teal">.1</span>:<span style="color:teal">7379</span>> config set stop-writes-on-bgsave-error no</code></span></span></span></span>