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.")
相关推荐
21439653 分钟前
mysql如何处理不走索引的OR查询_使用UNION ALL优化重写
jvm·数据库·python
2301_813599555 分钟前
如何在网页中完整显示数组内所有对象的全部属性
jvm·数据库·python
解救女汉子9 分钟前
如何分析Data Guard的网络瓶颈_Bandwidth与Redo传输速率的计算公式
jvm·数据库·python
m0_7436239213 分钟前
Golang怎么做数据库事务_Golang数据库事务教程【技巧】
jvm·数据库·python
千寻girling14 分钟前
被内推的面试 , 第一次
java·前端·python·面试·职场和发展·typescript·node.js
qq_3300379915 分钟前
模型持久化不会提升准确率——揭秘机器学习中常见的评估误区
jvm·数据库·python
qq_4240985615 分钟前
CSS如何实现背景平铺与拉伸控制_使用background-repeat属性
jvm·数据库·python
AC赳赳老秦20 分钟前
程序员面试:OpenClaw生成面试题、模拟面试,高效备战面试
人工智能·python·机器学习·面试·职场和发展·deepseek·openclaw
qq_4138474021 分钟前
html标签如何正确闭合_self-closing标签注意事项【介绍】
jvm·数据库·python
2501_9142459330 分钟前
Go语言怎么做并发下载_Go语言多协程下载教程【技巧】
jvm·数据库·python