当前位置:   article > 正文

redis数据迁移的方法

redis数据迁移
方法一:离线迁移
通过RDB或者aof文件
RDB:
   快
   目的库必须开启才能用
步骤:
    1.源库 执行  BGSAVE 
	2.copy 源库的.rdb文件至目标库
	3.重启目标库
AOF:
   慢
   源库和目的库必须都开启才能用
步骤:
    1.将源库的aof文件拷贝到目标库的数据目录中
   (两种方法)
	1.redis-cli  -p 6380  --pipe < ./appendonly.aof 
	2.重启
建议采用RDB
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

方法二:
单库–>单库
脚本,性能差,不建议使用

#coding=utf-8
import redis
redis_from = redis.StrictRedis(host='127.0.0.1', port=6379, db=10)
redis_to = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
if __name__ == '__main__':
    cnt = 0
    for k in redis_from.keys():
        data_type = redis_from.type(k)
        if data_type == 'string':
            v = redis_from.get(k)
            redis_to.set(k, v)
        elif data_type == 'list':
            values = redis_from.lrange(k, 0, -1)
            redis_to.lpush(k, values)
        elif data_type == 'set':
            values = redis_from.smembers(k)
            redis_to.sadd(k, values)
        elif data_type == 'hash':
            keys = redis_from.hkeys(k)
            for key in keys:
                value = redis_from.hget(k, key)
                redis_to.hset(k, key, value)
        else:
            print 'not known type'
        cnt = cnt + 1
    print 'total', cnt


**方法三:**
阿里开源redis-shake工具
解析、恢复、备份、同步
参考另一篇文章:


**方法四:**
主从同步迁移
步骤:
1.redis-cli 进入客户端
2.连接主
	  >  slaveof ip port   
3.info查看是否复制成功
4.断开主
	> slavof no one
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/752127
推荐阅读
相关标签
  

闽ICP备14008679号