首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >按过期时间定期删除 redis Key

按过期时间定期删除 redis Key

作者头像
用户1148526
发布2023-11-11 09:09:34
发布2023-11-11 09:09:34
9150
举报
文章被收录于专栏:Hadoop数据仓库Hadoop数据仓库

脚本文件 /home/redis/expired_system_message/unlink.sh 内容如下:

代码语言:javascript
复制
#!/bin/bash

cd ~/expired_system_message/

ip1=10.10.10.10
ip2=10.10.10.11
ip3=10.10.10.12
   
master_ip=`/home/redis/redis-5.0.3/src/redis-cli -h $ip3 -p 30001 info | grep 20004 | awk -F: '{print $2}' | awk -F= '{print $4}'`

case "$master_ip" in
   $ip1)
   slave_ip="$ip3"
   ;;
   $ip2)
   slave_ip="$ip1"
   ;;
   $ip3)
   slave_ip="$ip2"
   ;;
esac 

cat a.txt | /home/redis/redis-5.0.3/src/redis-cli -h $slave_ip -p 20004 -a plzasmdn > b.txt
cat b.txt | awk '{print "ttl "$0}' > c.txt
cat c.txt | /home/redis/redis-5.0.3/src/redis-cli -h $slave_ip -p 20004 -a plzasmdn > d.txt
paste b.txt d.txt > e.txt
cat e.txt | egrep -v '\-1|\-2' | sort -k2n > f.txt

# num=13824000
num=14256000
awk '{if($2<='$num') print "unlink "$1}' f.txt > g.txt

cat g.txt | /home/redis/redis-5.0.3/src/redis-cli -h $master_ip -p 20004 -a plzasmdn --pipe

a.txt 内容如下:

代码语言:javascript
复制
keys *

crontab 调度执行:

代码语言:javascript
复制
0 4 * * * /home/redis/expired_system_message/unlink.sh > /home/redis/expired_system_message/unlink.log 2>&1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档