一、RDB快照持久化
- Redis的數(shù)據(jù)雖然是保存在內(nèi)存中,但是在斷電關(guān)機(jī)后,依舊能夠通過持久化進(jìn)程讀取Redis寫在硬盤上的持久化文件來回復(fù)數(shù)據(jù),持久化方式有RDB快照持久化和AOF日志持久化兩種。
一、Redis快照持久化
工作原理:每隔后,從內(nèi)存dump數(shù)據(jù)形成rdb文件,
,放在備份
。
標(biāo)紅的字體代表可以從配置文件中進(jìn)行更改
- N分鐘或N次寫操作
192 # save ""
193
194 save 900 1
195 save 300 10
196 save 60 10000
- 其他配置
//在讀取rdb文件進(jìn)程出錯后是否終止寫操作
211 stop-writes-on-bgsave-error yes
//是否對rdb文件使用LZF進(jìn)行壓縮
217 rdbcompression yes
//壓縮和讀取rdb文件是進(jìn)行校驗(yàn)
226 rdbchecksum yes
//rdb文件存儲時的文件名
229 dbfilename dump.rdb
//rdb文件的存儲目錄
239 dir ./
二、AOF日志持久化
//是否開啟日志持久化
582 appendonly no
//日志持久化生成的文件名,需指定路徑
585 appendfilename "appendonly.aof"
//正在到處rdb快照的過程中,要不要停止同步aof
632 no-appendfsync-on-rewrite no
//aof文件大小比起上次重寫時的大小,增長率為100%時重寫
651 auto-aof-rewrite-percentage 100
//aof文件至少超過64M后,重寫
652 auto-aof-rewrite-min-size 64mb
aof執(zhí)行次數(shù)說明
- always => 每條命令都執(zhí)行
- everysec => 每秒執(zhí)行一次
- no => 由系統(tǒng)自己判斷緩沖區(qū)大小,絕對是否執(zhí)行
608 # If unsure, use "everysec".
609
610 # appendfsync always
611 appendfsync everysec
612 # appendfsync no