在linux下利用python删除Redis集群大Key数据

  • Post author:
  • Post category:linux


#导包

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



版权声明:本文为qq_43405333原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。