批量删除rediskey(使用scan模式)

发布时间 2023-05-26 14:14:37作者: zslm___
import redis
import re

# 连接 Redis
r = redis.Redis(host='192.168.1.42', port=31448, db=0, password='Y11111')

# 需要删除的 key 的正则表达式
pattern = 'data-*'

# 定义 SCAN 命令的游标初始值
cursor = 0

# 循环遍历 Redis 中符合正则表达式的 key,并逐个删除
while True:
    # 使用 SCAN 命令获取下一批符合正则表达式的 key
    cursor, keys = r.scan(cursor=cursor, match=pattern)

    # 如果已经遍历完所有 key,则退出循环
    if cursor == 0:
        break

    # 删除当前批次的 key
    for key in keys:
        r.delete(key)