Redis数据迁移的4种方法
16lz
2021-01-22
方法一:离线迁移
通过RDB或者aof文件RDB: 快 目的库必须开启才能用步骤: 1.源库 执行 BGSAVE 2.copy 源库的.rdb文件至目标库 3.重启目标库AOF: 慢 源库和目的库必须都开启才能用步骤: 1.将源库的aof文件拷贝到目标库的数据目录中 (两种方法) 1.redis-cli -p 6380 --pipe < ./appendonly.aof 2.重启建议采用RDB
方法二:
单库–>单库
脚本,性能差,不建议使用
#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工具
解析、恢复、备份、同步
参考另一篇文章:
blog.csdn.net/qq_34874784/article/details/110822231
方法四:
主从同步迁移
步骤:
1.redis-cli 进入客户端2.连接主 > slaveof ip port 3.info查看是否复制成功4.断开主 > slavof no one
更多相关文章
- IDEA最新激活码2021(IDEA2020.3永久激活方法)
- 模板方法模式在开源代码中应用
- 构造方法的参数太多,如何解决?
- 面试官:为什么静态方法不能调用非静态方法和变量?
- ConcurrentHashMap之size()方法