标签:键值对 policy 删掉 span 过期 mem 申请 redis rand
我们都知道redis缓存时可以设置过期时间,那么redis是如何识别这个key已经过期并将该key清掉呢?
当redis的内存满了之后,为什么还可以继续写缓存呢?而某些key又会被清掉,是什么原因呢?
以上问题就涉及到了redis的过期策略和淘汰机制,我们可以来了解一下。
redis为什么要有淘汰机制?
redis淘汰机制的存在是为了更好的使用内存,用一定的缓存丢失来换取内存的使用效率。
redis的过期策略
redis有两种过期策略,定期删除和惰性删除
redis的内存淘汰机制
当redis内存快耗尽时,redis会启动内存淘汰机制,将部分key清掉以腾出内存。
redis提供6中数据淘汰策略,可在redis.conf中配置:maxmemory-policy noeviction
当Redis确定好要驱逐某个键值对后,会删除这个数据,并将这个数据变更消息同步到本地和从机。
以上参考来自https://www.cnblogs.com/wjh123/p/11254858.html、http://mini.eastday.com/mobile/180918003550027.html#
标签:键值对 policy 删掉 span 过期 mem 申请 redis rand
原文地址:https://www.cnblogs.com/smallzhen/p/12728455.html