1.需求分析
当linux服务器重启后,然后开启redis服务器,结果会发现redis之前存储的数据会部分丢失甚至全部丢失;笔者公司项目中很多场景都用到了redis,比如说定时器,之前也有遇到过定时任务中的逻辑未执行的情况,当时笔者粗略定位是redis没有进行序列化存储,结果改良后还是存在这种漏执行的情况;然后通过追加定位,才发现是redis中的数据丢失导致key不存在,最终致使定时任务无法执行定时器中的逻辑。
2.解决方案
①vim /etc/sysctl.config 编辑sysctl.config
②独占一行,添加一行 vm.overcommit_memory = 1
③wq保存修改的配置,然后sysctl -p 使配置生效
这样linux服务器即使重启了&