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

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这批数据刚好同时过期 还没来得及缓存 之后大量请求这批数据 

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

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

设置了热点数据永不过期

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值