redis内存回收

Posted 余生请多指教ANT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis内存回收相关的知识,希望对你有一定的参考价值。

1.定时过期expilre     expire key TTL 10定时器  主动淘汰
2.惰性过期  被动淘汰
3getCommand 
expireIfNeed()


设置内存上线   set   memory   上线
activeExpireCycle()


redis使用了   惰性过期 + 定期过期


达到了最大内存上线后根据内存淘汰规则


# volatile-lru -> remove the key with an expire set using an LRU algorithm
# allkeys-lru -> remove any key according to the LRU algorithm
# volatile-random -> remove a random key with an expire set
# allkeys-random -> remove a random key, any key
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# noeviction -> don\'t expire at all, just return an error on write operations  不在接收新的指令存进内存

 

以上是关于redis内存回收的主要内容,如果未能解决你的问题,请参考以下文章

Redis_09_Redis内存回收机制

Redis额内存回收策略和内存上限

redis内存回收

Redis_06_Redis内存回收机制

redis内存回收——过期淘汰

面试官:Redis 数据库内存数据满了,会宕机吗?有内存回收?