每日面试题分享180:如果发现Redis内存溢出了怎么办?
如果是线上问题,首先进行止损,增加可用内存,让服务正常运行。
接着排查原因:
数据量太大,超出可用内存。
大量key没有设置超时时间,key堆积。
某些数据结构内存占用大。
RDB持久化时用了写时复制。
最后解决问题:
增加内存。
设置key超时时间。
优化数据结构。
更新持久化机制。
水平扩展,使用集群分散数据到不同实例。
如果是线上问题,首先进行止损,增加可用内存,让服务正常运行。
接着排查原因:
数据量太大,超出可用内存。
大量key没有设置超时时间,key堆积。
某些数据结构内存占用大。
RDB持久化时用了写时复制。
最后解决问题:
增加内存。
设置key超时时间。
优化数据结构。
更新持久化机制。
水平扩展,使用集群分散数据到不同实例。