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.")
相关推荐
難釋懷23 分钟前
Redis网络模型-用户空间和内核态空间
网络·arm开发·redis
Chase_______32 分钟前
计算机数据存储全解:从底层进制转换到存储介质演进
java·开发语言·python
薪火铺子39 分钟前
布隆过滤器原理与 Redis 防穿透实战
数据库·redis·缓存
构建的乐趣2 小时前
测度(Measure)和概率测度(Probability Measure) 测度和度量的区别
python
清水白石0082 小时前
把事故变成护城河:如何设计回归测试,防止“订单重复创建”这类历史 Bug 卷土重来?
python·bug
.柒宇.2 小时前
Redis高频面试题与跳跃表原理详解
数据库·redis·缓存
狐狐生风2 小时前
LangGraph 工具调用集成
python·langchain·prompt·agent·langgraph
MATLAB代码顾问2 小时前
【智能优化】无穷优化算法(INFO)原理与Python实现
开发语言·python·算法
SilentSamsara2 小时前
迭代器协议:`__iter__` / `__next__` 的完整执行流程
开发语言·人工智能·python·算法·机器学习
yuanpan2 小时前
Python + psutil 实战:开发一个简易系统监控工具
linux·运维·python