import redis
r = redis.Redis(host='xxxxx', port=6379, db=0,password="2024%")
r2 = redis.Redis(host='xxxxx', port=6379, db=0,password="2024%")
keys = r.keys('*')
filtered_keys = [key for key in keys if key.startswith(b'key')]
redis_keys = [f'{key. decode()}' for key in filtered_keys]
for keys in redis_keys:
value_type = r.type(keys)
if value_type == b'string':
value = r.get(keys)
r2.set(keys, value)
elif value_type == b'list':
elements = r.lrange(keys, 0, -1)
r2.rpush(keys, *elements)
elif value_type == b'hash':
all_fields_values = r.hgetall(keys)
for key, value in all_fields_values.items():
r2.hset(keys, key, value)
elif value_type == b'set':
members = r.smembers(keys)
for member in members:
r2.sadd(keys, member)
elif value_type == b'zset':
items = r.zrange(keys, 0, -1, withscores=True)
for member, score in items:
r2.zadd(keys, {member: score})
else:
print(f"{keys.decode()}: Unknown type")