两个redis之间迁移的python实现

时间:2020-12-03 17:36:52
#1、把现在这个redis数据库里面的数据全部整到另外一个redis里面
#  a    有数据
#  b    空
#要把a redis里面的数据 全部到迁移到b redis
    # 1、连上两个redis
    # 2、先从a redis里面获取到所有key
    # 3、然后判断key是什么类型,根据类型来判断使用什么方法
    # 4、从aredis里面获取到数据,set 到b redis里面
import redis
ip = '127.0.0.1'
password='123456'
r = redis.Redis(host=ip,password=password,port=6379,db=3,
                decode_responses=True)#连接redis
r2 = redis.Redis(host=ip,password=password,port=6378,db=2,
                decode_responses=True)#连接redis
all_key = r.keys()
for k in all_key:
    if r.type(k) == 'string':
        a_data = r.get(k)#从a redis获取到的数据
        r2.set(k,a_data)
    elif r.type(k) =='hash':
        hash_data = r.hgetall(k)    # {'key1':'v1',key2:v2}
        for key,v in hash_data.items():
            r2.hset(k,key,v)