Redis重启后数据丢失

别来无恙 提交于 2020-02-01 05:59:27

Redis默认持久化策略是RDB方式,数据丢失后首先去看了redis.conf文件,发现配置没问题,后来发现启动时日志有如下内容:

 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition.
To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

问题找到了,内存不足的情况下,后台保存可能会失败。在/etc/sysctl.conf中另起一行添加vm.overcommit_memory=1即可,然后保存wq!,再执行sysctl -p

[root@xq-test001 etc]# sysctl -p
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
kernel.sysrq = 1
vm.overcommit_memory = 1
 

配置完成,往redis里添加了数据,重启后发现数据没有丢失,记录一下,以便日后忘记

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!