Redis删除策略与淘汰策略
时间: 2024-04-28 11:19:00 浏览: 103
Redis删除策略与淘汰策略是用来管理内存空间的。当Redis的内存被写满时,会触发内存的淘汰策略。删除策略针对的是通过expire命令设置了过期时间的数据,而淘汰策略则针对那些没有过期时间或者是永久性数据的情况。
Redis的删除策略有以下几种:
- noeviction:只返回错误,不会删除任何键。这是Redis的默认淘汰策略。
- volatile-ttl:删除即将过期(剩余存活时间最短)的键。
- volatile-random:在设置了过期时间的键中,随机删除某个键。
- allkeys-random:从所有键中随机删除某个键。
- volatile-lru:基于最近最少使用(LRU)算法,删除最近最少使用的键。
- allkeys-lru:基于LRU算法,从所有键中删除最近最少使用的键。这是最常使用的策略。
需要注意的是,当Redis执行命令之前会检测内存是否充足,如果不满足加入新数据的条件,就会执行淘汰策略来删除未过期的数据。淘汰策略会根据具体的配置文件来确定使用哪种策略。
总结起来,删除策略是针对设置了过期时间的数据,而淘汰策略则是针对没有过期时间的数据或者是永久性数据,用来管理Redis的内存空间。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [redis的删除策略与淘汰策略](https://blog.csdn.net/weixin_42112028/article/details/125297076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [Redis删除策略和淘汰策略](https://blog.csdn.net/weixin_52464817/article/details/125859022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文