Redis key 消失之谜
作者:vivo 互联网存储团队 - Lin Haiwen、Xu Xingbao 本文从一次生产环境业务服务报错,逐步对问题进行定位,深入分析之后发现导致问题的原因,给出相应的优化方法,提升业务可用性。 1分钟看图掌握核心观点👇 一、问题描述 1.1 报错信息 应用服务报错,通过监控日志发现凌晨2点的时候,应用报错获取不到Redis key。 1.2 告警与监控信息 首先想到是否由于内存满导致的key淘汰,生产的所有Redis都有设置内存告警,但没有收到内存告警信息;(内存告警需要每隔10秒,连续3次触发才会告警。) 从监控图中,可以看到Redis内存稍有增长,但使用率一直偏低,并没有达到使用率告警。 查看监控信息:在问题时间点,发生了大量的key过期,初步怀疑是由于key批量设置了过期时间,正好到期了导致大量key失效。 查看Redis错误日志,没有发现异常。 二、问题定位 基于前面的监控,初步怀疑是key设置了过期时间导致失效。 是否有上线其他新功能导致? 但是业务反馈不是由于设置过期时间导致;并且第二天问题复现,因此继续深入定位。 2.1 key是否过期 查看淘汰策略 查看key...