首页 > 其他 > 详细

Redis过期策略

时间:2020-04-28 13:46:27      阅读:52      评论:0      收藏:0      [点我收藏+]

redis有两大类过期策略

(1)定期删除:redis每隔100ms随机抽取设置过期的key,检查key是否过期,若过期就删掉;

(2)惰性删除:使用定期删除由于其随机性,会造成部分过期值没有及时清理,所以需要有另一中机制来弥补,那么就出现了惰性删除机制,惰性删除机制就是在get这个key值的时候,如果这个key已过期,那么删除,不返回任何东西;

reids六大淘汰机制

  由于过期策略还是会造成大量过期数据留着内存中,严重影响redis存储和性能,所以需要有一些策略来弥补

  (1)noeviction(驱逐)禁止驱逐数据,当内存不足以容纳新的数据时,新写入入操作会报错(一般不用吧):

  (2)allkeys_lru:从数据集(server.db[i].dict)中挑选最少使用的数据淘汰,即移除最少使用key(最常用);

  (3)allkys_random:从已设置过期时间的数据集(server.db[i].dict)中任意选择数据淘汰,即随机移除最少使用的key(不常用);

  (4)volatile_lru:从已设置过期时间的数据集(server.db[i].expries)中挑选最近使用的数据淘汰;

  (5)volatile_random:从已设置过期时间的数据集(server.db[i].expries)中挑选任意数据淘汰;

  (6)volatile-ttl:从已设置过期时间的数据集(server.db[i].expries)中挑选将要过期的数据淘汰;

 

Redis过期策略

原文:https://www.cnblogs.com/smallVampire/p/12793523.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!