首页 > 其他 > 详细

redis 缓存过期和内存淘汰策略

时间:2021-02-20 17:56:27      阅读:34      评论:0      收藏:0      [点我收藏+]

1.redis缓存过期

redis 数据少可以设置超时时间  

redis 数据多单单设置超时时间 还不够 需要进行全盘扫描 时间太久 所以需要另外机制 redis 淘汰策略

2.内存淘汰策略

  • noeviction:返回错误,不会删除任何键值

  • allkeys-lru:使用LRU算法删除最近最少使用的键值

  • volatile-lru:使用LRU算法从设置了过期时间的键集合中删除最近最少使用的键值

  • allkeys-random:从所有key随机删除

  • volatile-random:从设置了过期时间的键的集合中随机删除

  • volatile-ttl:从设置了过期时间的键中删除剩余时间最短的键

  • volatile-lfu:从配置了过期时间的键中删除使用频率最少的键

  • allkeys-lfu:从所有键中删除使用频率最少的键

 

有了上述两种 可以解决内存占满的情况

缓存穿透情况

请求一些不存在的数据 因为redis 不存在 所以经常查询数据库 

解决缓存穿透的情况

用redis的布隆过滤器 : 

特点

说不存在一定不存在 

对布隆过滤器的理解 可以参考 这个博客

https://www.cnblogs.com/xzqpy/p/12007020.html

 

缓存击穿 && 缓存雪崩

 

缓存击穿:redis这个数据刚好过期 还没来得及缓存 之后大量请求这个数据 

缓存雪崩 :redis这批数据刚好同时过期 还没来得及缓存 之后大量请求这批数据 

 

解决缓存击穿 && 缓存雪崩

随机设置数据超时时间 不要用固定值

设置了热点数据永不过期

 

redis 缓存过期和内存淘汰策略

原文:https://www.cnblogs.com/xzqpy/p/14421936.html

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