"""
要求把当前redis a 里面的值迁移到新的redis b 里面
分析步骤:
    1. 连上两个redis
    2. 先从a里获取到所有key
    3. 然后判断key是什么类型,根据类型判断使用什么方法
    4. 从a里取到数据,set到b里
"""
import redis
ip = "118.24.3.40"
password = "HK139bc&*"
redis1 =redis.Redis(host=ip,password=password,port=6379,db=3,decode_responses=True)
redis2= redis.Redis(host=ip,password=password,port=6378,db=4,decode_responses=True)
all_keys= redis1.keys() # 取到redis1里所有的key
for key in all_keys:#循环所有的key
    if redis1.type(key)=="string":#如果key是string类型
        redis1_value=redis1.get('value')#取到redis1中的value值
        redis2.set(key,redis1_value)#把key和value值写入redis2
    elif redis1.type(key)=="hash":
        hash_value=redis1.hgetall(key) # key等于从redis1里取到的值
        for k,v in key:#循环读取大key里的key和value值
            redis2.hset(key,k,v)