redis:redis内存满了怎么办

实际上redis定义了【八种内存淘汰策略】来处理redis内存满的情况

  • noeviction:直接返回错误,不淘汰任何已经存在的redis键
  • allkeys-lru:所有的键使用lru算法进行淘汰
  • volatile-lru:有过期时间的使用lru算法进行淘汰
  • allkeys-random:随机删除redis键
  • volatile-random:随机删除有过期时间的redis键
  • volatile-ttl:删除快过期的redis键
  • volatile-lfu:根据lfu算法从有过期时间的键删除
  • allkeys-lfu:根据lfu算法从所有键删除

解析

设置多大的缓存容量合适?

具体结合应用数据实际访问特点和成本开销来综合考虑。一般建议把缓存容量设置为总数据量的 15% 到 30%,兼顾访问性能和内存空间开销

对于 Redis 来说,一旦确定了缓存最大容量,比如 4GB,就可以执行下面命令:

<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-c">CONFIG SET maxmemory <span style="color:#986801">4</span>gb
</code></span></span>
  • 1

不过,缓存被写满是不可避免的

缓存替换需要解决两个问题:

  • 决定淘汰哪些数据
  • 如何处理那些被淘汰的数据

Redis 缓存有哪些淘汰策略?

Redis 4.0 之前一共实现了 6 种内存淘汰策略,在 4.0 之后,又增加了 2 种策略。我们可以按照是否会进行数据淘汰把它们分成两类

  • 不进行数据淘汰的策略,只
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值