1. 程式人生 > >redis總結(五)--持久化之RDB

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命令