redis數據備份及遷移方式-debian

環境說明:

#172.20.0.1 redis源實例
#172.20.0.2 redis目標實例
#172.20.0.3 任意linux系統
一、redis-dump方式

1.安裝redis-dump工具

[[email protected] ~]# apt-get install ruby ruby-dev gcc

[[email protected] ~]# gem install redis-dump


2.redis-dump導出
[[email protected] ~]# redis-dump -u :[email protected]:6379 > 172.20.0.1.json
3.redis-load導入
[[email protected] ~]# cat 172.20.0.1.json | redis-load -u :[email protected]:6379
 

二、aof導入方式

1.源實例生成aof數據

# 清空上文目標實例全部數據
[[email protected] ~]# redis-cli -h 172.20.0.2 -a password flushall
OK
# 源實例開啓aof功能,將在dir目錄下生成appendonly.aof文件
[[email protected] ~]# redis-cli -h 172.20.0.1 -a password config set appendonly yes
OK
2.目標實例導入aof數據
# 假設appendonly.aof就在當前路徑下
[[email protected] ~]# redis-cli -h 172.20.0.2 -a password --pipe < appendonly.aof
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5
# 源實例關閉aof功能
[[email protected] ~]# redis-cli -h 172.20.0.1 -a password config set appendonly no
OK
 

三、rdb文件遷移方式

暫略

 

四、源實例db0遷移至目標實例db1

[[email protected] ~]# cat redis_mv.sh
#!/bin/bash
redis-cli -h 172.20.0.1 -p 6379 -a password -n 0 keys "*" | while read key
do
    redis-cli -h 172.20.0.1 -p 6379 -a password -n 0 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h 172.20.0.2 -p 6379 -a password -n 1 -x restore $key 0
    echo "migrate key $key"
done

 

轉載至 https://www.cnblogs.com/hjfeng1988/p/7146009.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章