Redis对已过期的key如何处理?

Redis对已过期的key如何处理?

设置了expire的key缓存过期了,但是服务器的内存还是会被占用,这是因为redis所基于的两种删除策略。


redis有两种策略:

(主动)定时删除

定时随机的检查过期的key,如果过期则清理删除。(每秒检查次数在redis.conf中的hz配置)


(被动)惰性删除

当客户端请求一个已经过期的key的时候,那么redis会检查这个key是否过期,如果过期了,则删除,然后返回一个nil。这种策略对cpu比较友好,不会有太多的损耗,但是内存占用会比较高。

 

所以,虽然key过期了,但是只要没有被redis清理,那么其实内存还是会被占用着的。

 

posted @ 2020-10-14 10:38  gaopengpy  阅读(588)  评论(0编辑  收藏  举报