码迷,mamicode.com
首页 > 其他好文 > 详细

redis 删除策略

时间:2020-05-27 20:27:13      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:独立   ola   exp   判断   vol   随机选择   同步   最大   允许   

定时删除:创建一个定时器,在键过期时立即删除。

为什么不用定时删除策略:虽然内存及时释放,但太消耗 CPU 资源。

 

定期删除,设置了 expire 的键存储在一个独立的字典中,默认每 100ms 随机选择 20 个 key,删除其中已过期的 key。如果过期 key 比例超过 1/4,那就重复这一步骤。扫描时间上限,默认不会超过 25ms。

定期删除会导致很多 Key 到时间没有删除,浪费内存。

 

惰性删除:键过期后不管,读取时,判断是否过期。同样会浪费内存

 

数据淘汰:在Redis.conf中,允许用户设置最大使用内存大小server.maxmemory,

和淘汰策略maxmemory-policy volatile-lru

Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。

 

1.volatile-lru:从已设置过期的数据集中挑选最近最少使用的淘汰

2.volatile-ttr:从已设置过期的数据集中挑选将要过期的数据淘汰

3.volatile-random:从已设置过期的数据集中任意挑选数据淘汰

4.allkeys-lru:从数据集中挑选最近最少使用的数据淘汰

5.allkeys-random:从数据集中任意挑选数据淘汰

6.noenviction:禁止淘汰数据

redis淘汰数据时还会同步到aof

 

redis 删除策略

标签:独立   ola   exp   判断   vol   随机选择   同步   最大   允许   

原文地址:https://www.cnblogs.com/ts65214/p/12975889.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!