#导包
import time
import sys
import re
from rediscluster import RedisCluster
#这里为集群节点及端口相关信息
redis_basis_conn=[{“host”:“192.168.1.1”,“port”:9527}{“host”:“192.168.1.1”,“port”:9527},{“host”:“192.168.1.1”,“port”:9527}]
#根据业务需要删除数据,这里为读取shell脚本传入日期参数给python,一边模糊查询key
lastmonth = sys.argv[1]
#做一个简单的 入参判断,很重要,防止清空所有key
if(lastmonth != “” and re.search(’\d{6}’,lastmonth)):
#获取redis集群,这里password参数为你自己的redis集群节点密码
rs= RedisCluster(password=‘mima’,startup_nodes=redis_basis_conn, decode_responses=True, skip_full_coverage_check=True)
#模糊搜索
keys = r.scan_iter(match=f”*{lastmonth}”)
for key in keys:
print(f”delete key :{key}”)
rs.delete(f”{key}”)
else :
print(“你好,月份不符合规则程序强制终止”)
break
#shell部分
#!/bin/bash
lastmonth =
(
d
a
t
e
”
+
t
o
d
a
y
=
(date “+%Y%m” -d “-1 month”) today=
(
d
a
t
e
”
+
t
o
d
a
y
=
(date “+%Y%m%d”)
echo $lastmonth
python3 Redis_del.py
KaTeX parse error: Expected group after ‘_’ at position 31: …./log/redis_del_̲
{today}.logs