Linux环境下Redis常用配置
1. Linux中实现redis-命令在任意目录执行
修改profile文件:
vi /etc/profile
在最后行添加:
export PATH=$PATH:/usr/software/redis/src
注意:/usr/software/redis/src 表示的是redis-cli等命令存在的目录路径
重新加载/etc/profile
source /etc/profile
打开redis.conf
2.配置redis-cli密码
- requirepass yourPassword
- 重启redis服务 测试是否配置成功 ./redis-cli 输入:keys * 获取所有key,发现正常获取。说明密码设置没有效! 解决办法: redis-cli 进入客户端 输入:config set requirepass yourPassword 会提示(error) NOAUTH Authentication required. 说明密码设置成功!
3. 设置RDB持久化
默认配置 save 900 1 save 300 10 save 60 10000
after 900 sec (15 min) if at least 1 key changed after 300 sec (5 min) if at least 10 keys changed after 60 sec if at least 10000 keys changed
RDB工作流程
- redis根据配置自己去生成rdb快照文件。
- fork一个子进程。
- 子进程尝试将数据dump到rdp快照文件中
- 完成rdb快照后,替换之前旧的快照文件。
4. 设置AOF持久化
设置appendonly = yes打开AOF持久化(生产环境一定要打开)。打开后,redis每次接收一条写命令,会先写入os cache,然后每隔一定时间再fsync下,只有执行完fsync后才会写入磁盘中。当AOF和RDB都开启时,reids重启后默认先从AOF恢复数据。可配置三种fsync策略:
- appendfsync always 每写一条数据就执行一次fsync, 性能差,吞吐量低。
- appendfsync everysec (默认项) 每隔一秒执行一次fsync
- appendfsync no 不主动执行fsync
默认AOF文件名为appendonly.aof appendfilename "appendonly.aof"
redis会根据淘汰策略清理掉不常用的数据,所有AOF也会在每隔一段时间做rewrite操作,确保AOF文件不会过大,保持和redis内存的数据量一致。比如:上一次AOF rewirte 后是128mb,然后运行过一段时间后,AOF超过了256mb (auto-aof-rewrite-percentage 100 ,阈值100%)后,同时大于64mb(auto-aof-rewrite-min-size),就会再次触发rewrite。 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb
AOF工作流程:
- redis fork一个子进程
- 子进程基于当前内存中的数据,构建日志,开始往一个新的临时的AOF文件中写入日志。
- redis主进程,在内存中写入新的日志,同时新的日志也继续写入旧的AOF文件中
- 子进程写完后,主进程将内存中的新日志再次追加到新的AOF文件中。
- 用新的AOF文件替换旧的文件。
AOF破损文件修复: redis-check-aof --fix 修复破损的AOF文件。
上一篇:
IDEA上Java项目控制台中文乱码