源实例生成aof数据(导出)
#源实例开启aof功能,将在当前目录下生成appendonly.aof文件
redis-cli -h 127.0.0.1 -a password config set appendonly yes
目标实例导入aof数据
# 假设appendonly.aof就在当前路径下
redis-cli -h 172.20.0.2 -a password --pipe < appendonly.aof
# 源实例关闭aof功能
redis-cli -h 172.20.0.1 -a password config set appendonly no
Redis-dump-load工具导出导入
需求环境
Redis-dump-load是基于python2.7,利用redis模块编写的一个导出/导入redis数据的一个python程序,因此,需求环境如下:
python 2.7
pip2.7
python.redis模块
安装程序
pip install redis cd /home git clone https://github.com/p/redis-dump-load.git cd redis-dump-load ./redisdl.py --help
导出数据
python /home/redis-dump-load/redisdl.py -H 127.0.0.1 -w 密码 -p 6379 -d 35(要导出的库) -o /home/(导出的文件路径)/redis_35.json
导入数据
python /home/redis-dump-load/redisdl.py -l -H 127.0.0.1 -w 密码 -p 6379 -d 5(需要导入的库) /home/导入的文件路径/redis_35.json
注意:
如果报错:AttributeError: 'unicode' object has no attribute 'iteritems'
原因:python 安装的 redis 版本过高,降低版本即可。
解决办法:
卸载现有的 redis 版本
pip uninstall redis
安装指定版本
pip install redis==2.10.6
2022年07月21日 修订文章,增加 Redis-dump-load 工具的使用。