1. 程式人生 > >Redis持久化配置(rdb,aof)

Redis持久化配置(rdb,aof)

dbsize top 需要 dir 選項 com 存在 db文件 ESS

Redis的持久化有2種方式 1快照 2是日誌

Rdb快照的配置選項(內存中的快照寫入磁盤速度更快)

配置文件:
save 900 1 // 900秒內,有1條寫入,則產生快照
save 300 1000 // 如果300秒內有1000次寫入,則產生快照
save 60 10000 // 如果60秒內有10000次寫入,則產生快照
(這3個選項都屏蔽,則rdb禁用)

stop-writes-on-bgsave-error yes // 後臺備份進程出錯時,主進程停不停止寫入?
rdbcompression yes // 導出的rdb文件是否壓縮
Rdbchecksum yes // 導入rbd恢復時數據時,要不要檢驗rdb的完整性
dbfilename dump.rdb //導出來的rdb文件名

dir ./ //rdb的放置路徑

Aof 的配置
appendonly no # 是否打開 aof日誌功能

appendfsync always # 每1個命令,都立即同步到aof. 安全,速度慢
appendfsync everysec # 折衷方案,每秒寫1次
appendfsync no # 寫入工作交給操作系統,由操作系統判斷緩沖區大小,統一寫入到aof. 同步頻率低,速度快,

no-appendfsync-on-rewrite yes: # 正在導出rdb快照的過程中,要不要停止同步aof
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重寫時的大小,增長率100%時,重寫

auto-aof-rewrite-min-size 64mb #aof文件,至少超過64M時,重寫

註: 在dump rdb過程中,aof如果停止同步,會不會丟失?
答: 不會,所有的操作緩存在內存的隊列裏, dump完成後,統一操作.

註: aof重寫是指什麽?
答: aof重寫是指把內存中的數據,逆化成命令,寫入到.aof日誌裏.
以解決 aof日誌過大的問題.

問: 如果rdb文件,和aof文件都存在,優先用誰來恢復數據?
答: aof

問: 2種是否可以同時用?
答: 可以,而且推薦這麽做

問: 恢復時rdb和aof哪個恢復的快
答: rdb快,因為其是數據的內存映射,直接載入到內存,而aof是命令,需要逐條執行

redis 服務器端命令
redis 127.0.0.1:6380> time ,顯示服務器時間 , 時間戳(秒), 微秒數
1) "1375270361"
2) "504511"

redis 127.0.0.1:6380> dbsize // 當前數據庫的key的數量
(integer) 2
redis 127.0.0.1:6380> select 2
OK
redis 127.0.0.1:6380[2]> dbsize
(integer) 0
redis 127.0.0.1:6380[2]>

BGREWRITEAOF 後臺進程重寫AOF
BGSAVE 後臺保存rdb快照
SAVE 保存rdb快照
LASTSAVE 上次保存時間

Redis持久化配置(rdb,aof)