首页 > 代码库 > redis数据迁移
redis数据迁移
一:AOF方式
需求: 一个没有数据的redis。
清空redis数据方法
bash> echo "keys *" | redis-cli --raw -p 6378 |sed -r ‘s/(.*)/redis-cli --raw -p 6378 del \1 /g‘ |bash
1.备份
bash> redis-cli --raw -p 6378
redis> config get dir #查看aof文件保存路径
redis> config set appendonly yes #允许调用fsync将AOF日志同步到硬盘
redis> SLAVEOF 192.168.10.52 6378 #需要备份的服务器的ip端口
bash > cat $dir/appendonly.aof #查看备份的aof日志
redis> SLAVEOF NO ONE #取消主从同步
redis> config set appendonly no #取消调用fsync
2.还原
bash> redis-cli --raw -p 6378
redis> config set appendonly yes #允许调用fsync将AOF日志同步到硬盘
redis> redis-cli --raw -p 6378 --pipe < appendonly.aof #将文件进行导入
redis> config set appendonly no #取消调用fsync
redis> keys * #查看备份的数据
二:RDB方式
1.在要备份的redis上执行sync命令后停掉服务
2.停掉备份服务器的redis
2将dump.rdb替换备份服务器的dump.rdb
3.重启服务。
三:redis_dump方式(第三方工具)
bash> yum install ruby rubygems ruby-devel
bash> gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
bash> gem install redis-dump -V
备份
bash> redis-dump -u 192.168.10.100:6378 > test.json
还原
bash> < test.json redis-load -u 127.0.0.1:6378
redis数据迁移