1. 程式人生 > >redis不重啟,切換RDB備份到AOF備份

redis不重啟,切換RDB備份到AOF備份

確保redis版本在2.2以上

[[email protected] /data 22:23:30]#redis-server -v
Redis server v=4.0.10 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=64cb6afcf41664c

本文在redis4.0中,通過config set命令,達到不重啟redis服務,從RDB持久化切換為AOF

實驗環境準備

redis.conf服務端配置檔案

daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename dbmp.rdb save 900 1 #rdb機制 每900秒 有1個修改記錄 save 300 10 #每300秒 10個修改記錄 save 60 10000 #每60秒內 10000修改記錄

啟動redis服務端

redis-server redis.conf

登入redis-cli插入資料,手動持久化

127.0.0.1:6379> set name chaoge
OK
127.0.0.1:6379> set age 18
OK
127.0
.0.1:6379> set addr shahe OK 127.0.0.1:6379> save OK

檢查RDB檔案

[[email protected] /data 22:34:16]#ls 6379/
dbmp.rdb  redis.log

備份這個rdb檔案,保證資料安全

[[email protected] /data/6379 22:35:38]#cp dbmp.rdb /opt/

執行命令,開啟AOF持久化

127.0.0.1:6379> CONFIG set appendonly yes   #開啟AOF功能
OK
127.0
.0.1:6379> CONFIG SET save "" #關閉RDB功能 OK

確保資料庫的key數量正確

127.0.0.1:6379> keys *
1) "addr"
2) "age"
3) "name"

確保插入新的key,AOF檔案會記錄

127.0.0.1:6379> set title golang
OK

此時RDB已經正確切換AOF,注意還得修改redis.conf新增AOF設定,不然重啟後,通過config set的配置將丟失