1. 参数调优
1.1 关闭AOF
只做纯内存的缓存,其实只需要RDB就好了,不需要AOF,因为AOF性能比RDB差些,消耗的磁盘空间也更大,我们只需要RDB做冷备。相对于AOF持久化机制来说,直接基于RDB数据文件来重启和恢复redis进程,更加快速。使用RDB来进行快速的数据恢复,达到缓存预热的目的。
1.2 修改RDB配置
redis.conf文件,去配置持久化
save 900 1
save 300 10
save 60 10000
每隔60s,如果有超过10000个key发生了变更,那么就生成一个新的dump.rdb文件
具体根据生产环境情况进行调整
1.3 overcommit_memory
0: 检查有没有足够内存,没有的话申请内存失败
1: 允许使用内存直到用完为止
2: 内存地址空间不能超过swap + 50%验证
如果是0的话,可能导致类似fork等操作执行失败,申请不到足够的内存空间
cat /proc/sys/vm/overcommit_memory
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1
1.4 swapiness
cat /proc/version,查看linux内核版本