redis總結(五)--持久化之RDB
本文內容來自尚矽谷任務18:Redis_持久化之RDBhttp://www.gulixueyuan.com/course/44/task/1139/show
1配置conf檔案
選擇其中一條配置即可
save “ ” :表示禁用rdb方式來儲存資料
save 900 1 :表示900內如果變化大於等於1次,則到了900秒時會通過rdb方式儲存資料
save 300 5 :表示300內如果變化大於等5次,則到了300秒時會通過rdb方式儲存資料
save 60 10000 :表示60內如果變化大於等10000次,則到了60秒時會通過rdb方式儲存資料
2原理
Redis會單獨建立(fork)一個子程序來進行持久化,會先將資料寫入到
一個臨時檔案中,待持久化過程都結束了,再用這個臨時檔案替換上次持久化好的檔案。
整個過程中,主程序是不進行任何IO操作
如果需要進行大規模資料的恢復,且對於資料恢復的完整性不是非常敏感,那RDB方
式要比AOF方式更加的高效。RDB的缺點是最後一次持久化後的資料可能丟失。
3配置完成後重啟資料庫
3.1關閉資料庫:執行shutdown命令,可以在在bin目錄中在連線了資料得情況下執行shutdown操作可關閉資料庫。
3.2刪除原來得rdb檔案:在bin目錄下找到預設的dump.rdb檔案,進行刪除
3.3檢視redis資料庫是否是啟動狀態的三種方式
3.3.1 在bin目錄中執行 ps -ef|grep redis
3.3.2 在bin目錄中執行 lsof -i :6379 (沒有查詢出資訊,表示沒有資料庫啟動)
3.4啟動資料庫
redis-server /myredis/redis.conf
4配置檔案說明
dbfilename dump.rdb:配置檔案中這句話意思是,資料庫rdb方式備份的資料儲存在名為dump.rdb檔案中的
5立即執行rdf方式的redis語句
flushall:清除資料庫所有內容的時候會立即持久一次資料
shutdown:關閉資料庫的時候會立即持久化一次資料
save:立即備份資料,只管儲存,其它不管,全部阻塞
bgsave:Redis會在後臺非同步進行快照操作,快照同時還可以響應客戶端請求。可以通過lastsave,命令獲取最後一次成功執行快照的時間
快照:將記憶體中的資料儲存到資料(個人理解)
6優缺點
優缺點和對比aof方式的優缺點進行對比
rdb最大的缺點就是最後一次的資料可能會丟失
6.1優點
適合大規模的資料恢復
對資料完整性和一致性要求不高
6.2缺點
在一定間隔時間做一次備份,所以如果redis意外down掉的話,就會丟失最後一次快照後的所有修改
Fork的時候,記憶體中的資料被克隆了一份,大致2倍的膨脹性需要考慮
7補充
7.1動態所有停止RDB儲存規則的方法:redis-cli config set save ""
7.2獲取最後一次快照的時間:last save命令