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.")