某天程序突然出现异常,部分功能能正常使用,部分功能出现异常,并显示错误信息如下:
redis:OOM command not allowed when used memory > ‘maxmemory’
分析处理流程:
- 根据错误信息提示,首先连接到redis
redis-cli -h ip -p port -a password
- 查看redis内存使用情况:
info memory
- 查看分配给redis的最大内存
config get maxmemory
发现实际redis使用的内存已经超过分配给redis的最大内存
到此,问题已经很明显了,处理方式有很多种,比如:
- 扩展redis的最大内存
- 优化redis,完善消息过期机制,定期自动清理一些过期的key