REDIS清理死键

本文介绍了一个项目,用于定期清理Redis中的死键,以提高内存使用效率。项目通过shell脚本配合LUA脚本,查找并处理长期未被访问的key。详细介绍了背景、项目实现方式以及运行步骤。
摘要由CSDN通过智能技术生成

背景

在做一些项目的过程中,有些项目对于后端数据的接口请求时间要求更高,数据存储读取较频繁,一般的mysql数据库不能支持这种需求,所以对于这类项目,一般采用内存型数据库存储-redis。
而对于redis,它相比于mysql资源成本是更高的,因此redis适合存储一些重要或者紧要的数据。
在这类项目运行久了之后,一些老的key会不断在redis里积压,导致redis内存越来越高,对redis的使用效率产生影响,因此需要对于redis数据进行定期清理。
这个项目是对于redis中的key进行筛选,查找到轮转时间(长期没有使用的时间)大于某个阈值的key,并将它做一些清理落地处理。

项目地址

github地址

命令科普

  • 死键
    所谓死键,在redis里有两个定义。
    1. 死键是指redis中的key超过过期时间,但是没有在内存中被实际删除的key。
      PS: 这种情况是可能发生的,在redis中过期键的删除有两种策略,一般采用的是定期删除(比如每s删除10个),这样的话,如果我们过期键产生的速度是大于删除的速度,则会产生死键。
    2. 死键是指在redis中长期未被访问的key(需要根据业务需求,查看能否删除)
  • 轮转时间
    轮转时间即idletime,是指该key有多长时间没有被访问过(单位 s)。
    OBJECT IDLETIME KEY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值