由于用户登录失败,检查redis日志发现:redis Can’t save in background: fork: Cannot allocate memory
解决方法:https://blog.csdn.net/xianjuke008/article/details/106218558
原因分析
- 由于每次保存 RDB 的时候,Redis 都要 fork() 出一个子进程,并由子进程来进行实际的持久化工作。所以当redis进程内存过大时候,将无法分配内存
- stop-writes-on-bgsave-error :默认值为yes。当启用了RDB且最后一次后台保存数据失败,Redis是否停止接收数据。所以修改参数
stop-writes-on-bgsave-error false,也可以暂时解决问题,但是这样只是当redis写硬盘快照出错时,可以让用户继续做更新操作,但是写硬盘仍然是失败的;