redis持久化之-rdb
首先看一下持久化的配置
################################ SNAPSHOTTING ################################
save 900 1 #900秒內(nèi)只要一個(gè)k值被編輯就會(huì)存盤(pán)(900秒保存一次)
save 300 10
save 60 10000
rdbchecksum yes #存盤(pán)時(shí)是否壓縮
dbfilename dump.rdb #存盤(pán)時(shí)的文件名
dir ../ #存盤(pán)的目錄(../表示的是該文件所在的目錄,而不是其上級(jí)目錄)
這里為了方便測(cè)試,我們把save 60 10000改為 save 60 5;一分鐘內(nèi)只要改變5個(gè)key就自動(dòng)幫我們存盤(pán)備份
操作
[root@localhost src]# ./redis-server ../redis.conf
[root@localhost src]# ./redis-cli
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> set k4 v4
OK
127.0.0.1:6379> set k5 v5
OK
127.0.0.1:6379> set k6 v6
OK
一分鐘后看到redis.conf同級(jí)目錄下出現(xiàn)了“dump.rdb”;
一般我們需要把備份的文件另外存一個(gè)文件名或者存到另外臺(tái)服務(wù)器中,這樣比較保險(xiǎn)
哪些操作會(huì)導(dǎo)致redis存盤(pán)呢?
- 滿足save的幾個(gè)條件
- shutdown操作
- flushall操作
什么時(shí)候從dump.rdb中恢復(fù)呢?
重啟redis服務(wù)時(shí),會(huì)根據(jù)配置的路徑和文件名找到xxx.rdb然后讀入內(nèi)存中
redis持久化之-aof
首先看一下aof的配置文件
############################## APPEND ONLY MODE ###############################
appendonly no #aof方式默認(rèn)關(guān)閉
appendfilename "appendonly.aof" #文件名
appendfsync everysec #同步模式(可選no always everysec)
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
文章解釋:
當(dāng)appendonly.aof和dump.rdb同事存在時(shí),redis從哪個(gè)文件恢復(fù)到內(nèi)存呢?
從appendonly.aof