根据REDIS KEY的名称重置REDIS KEY的ttl值

由于某些原因redis中的key缓存时间设置得过久,造成KEY不能自动删除,或者删除的时间过长,需要重新设置一下对应KEY的TLL值。所以做了以下脚本:

[root@REDIS-1 bin]# cat modikeyttl.sh
#挑出指定要修改TTL值的KEY到tempkey
#/usr/local/redis/bin/redis-cli keys "*" |grep $1 >tempkey
#开始循环KEY
for i in $(cat ./tempkey)
do
#依次取当前KEY的TTL值
oldttl=`/usr/local/redis/bin/redis-cli  ttl $i`
#将TTL值缩短到当前TTL的四分之一
newttl=`expr $oldttl / 4`
#改写成新的TTL值
/usr/local/redis/bin/redis-cli expire $i $newttl
done

比如用户浏览数据的REDIS中,当前redis中有一类KEY的名称中带CACHE:USER_VIEWDATA的KEY,大概有几万或者几十万不等,需要将该类KEY的TTL值减小到为当前值的1/4,于是可以将该脚本如此执行:

./modikeyttl.sh CACHE:USER_VIEWDATA


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值