redis内存淘汰机制(redis内存耗尽触发自动回收机制)

线上运行的系统出现键丢失的情况。通过redis-cli登录redis,输入info命令查看redis内存使用情况。如图所示:
在这里插入图片描述
可见内存已经被使用的差不多了,内存使用峰值已经超过redis最大内存量,触发了内存回收策略,导致后续写入内存操作被拒绝了。造成“键丢失”的现象。

redis内存淘汰策略有6种:

  • noeviction:当内存不足以容纳新写入数据时,新写入操作会报错
  • allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key(这个是最常用的)
  • allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。
  • volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key
  • volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key
  • volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除
  • volatile-lfu(redis 4新增):从所有配置了过期时间的键中驱逐使用频率最少的键
  • allkeys-lfu(redis 4新增):从所有键中驱逐使用频率最少的键

通过设置maxmemory-policy属性修改内存回收策略。

账号密码登录redis命令行输入指令如下,不用重启redis更新相关配置项。

config set maxmemory-policy allkeys-lru
config rewrite
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值