"""
要求把当前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)
posted on 2018-12-29 16:27  徐儿  阅读(129)  评论(0编辑  收藏  举报