python scan方式查询redis所有数据是否含有重复的key

demo

python 复制代码
import redis

# 连接到 Redis 服务器
client = redis.StrictRedis(host='192.168.1.1', port=6379)

# 用于存储所有键和重复键的集合
all_keys = set()
duplicates = set()

# Redis 默认有 16 个数据库,索引从 0 到 15
for db in range(8):
    print(f"Scanning database {db}...")
    client.execute_command('SELECT', db)

    # 使用 SCAN 命令迭代获取 key
    cursor = '0'
    while cursor != 0:
        cursor, keys = client.scan(cursor=cursor, count=100)
        for key in keys:
            # 检查是否已经存在于集合中
            if key in all_keys:
                duplicates.add(key)
            else:
                all_keys.add(key)

# 输出结果
if duplicates:
    print("Duplicate keys found:")
    for key in duplicates:
        print(key.decode('utf-8'))  # keys are returned as bytes, so decode them
else:
    print("No duplicates found.")
相关推荐
weixin_40871777几秒前
如何用 Iterator.from 将类数组转化为具备现代方法的迭代器
jvm·数据库·python
Full Stack Developme2 分钟前
MyBatis-Plus 流式查询教程
前端·python·mybatis
才兄说6 分钟前
机器人二次开发机器狗巡检?定位精度±2cm
python
2301_782659188 分钟前
SQL视图能否用于数据仓库模型_雪花模型与视图构建
jvm·数据库·python
m0_3776182312 分钟前
CSS如何让文字超出两行显示省略号_使用line-clamp属性限制
jvm·数据库·python
m0_7436239214 分钟前
HTML5中LocalStorage存储用户自定义快捷键配置
jvm·数据库·python
2301_7735536217 分钟前
HTML5中SharedWorker生命周期与浏览器进程关闭的关系
jvm·数据库·python
m0_6403093023 分钟前
mysql flush privileges有什么作用_mysql权限生效机制解析
jvm·数据库·python
2401_8971905524 分钟前
mysql备份期间如何监控系统负载_使用iostat与top命令
jvm·数据库·python
2301_7965885025 分钟前
SQL批量删除不同条件的记录_使用IN子句简化删除逻辑
jvm·数据库·python