两个redis之间迁移的python实现

Posted blueteer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个redis之间迁移的python实现相关的知识,希望对你有一定的参考价值。

#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)

 

以上是关于两个redis之间迁移的python实现的主要内容,如果未能解决你的问题,请参考以下文章

这两个代码片段之间有区别吗?如果有,那又如何? [复制]

在两个以上片段之间传递数据

利用Python脚本实现Oracle与MySQL之间数据迁移

Python代码阅读(第40篇):通过两个列表生成字典

php实现redis数据库指定库号迁移的方法

python_迁移redis