Redis的过期策略和内存淘汰策略的线上排查问题
如果线上 Redis 实例内存一直在涨,怎么排查是过期 key 没清理还是淘汰策略配置问题?
- INFO MEMORY:先获取内存整体指标,确认内存水位、内存碎片、内存峰值,做第一层全局筛查。
- 检查过期键 (expired_keys):结合INFO STATS观察过期删除键、被内存淘汰键数量,判断是否大量键过期堆积或持续触发缓存淘汰。
- 查看 maxmemory-policy:确认内存达到上限后的淘汰策略是否配置合理,防止内存打满直接写入报错。
- MEMORY DOCTOR:利用 Redis 内置诊断工具,自动分析指标,快速识别高碎片、客户端缓冲区泄漏等隐患。
- SLOWLOG:排查是否存在耗时过长的阻塞命令,判断抖动是否由慢查询引发,同时寻找大 key 访问线索。
- bigkey 扫描:前面发现疑点后,扫描定位占用大量内存的大键,作为内存异常的最终明细根因定位手段。
原创
redis线上问题排查
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法