欢迎光临
我们一直在努力

【案例】redis-server 大量key过期不释放空间的

环境: 某个redis集群(redis4.0.11的主从环境)

背景:这个redis集群开发有大量的key的写入和过期,导致内存急剧上涨。

使用 rdb工具 (git地址:https://github.com/sripathikrishnan/redis-rdb-tools) 分析下rdb文件后,发现内存中有很多的key,过期时间早到了,但是实际上还存在。原因: 因为redis的key清理策略是懒惰删除(lazy free),我们可以尝试调大,这样每秒钟执行的redis的内部cronjob次数将增大,也就可以加快key的淘汰。

操作步骤:

1、config get hz   看到当前redis-server 默认值是10 

2、config set hz 50    我们这里将hz设置为50,然后观察段时间看看(注意hz的设置值可以以10为步长逐步增加,但是一般不要超过100)

下面 2张图,是我从监控上截取的。可以看到 设置后迅速有大量的key被淘汰了。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。