redis的高性能是因爲它全部的操做都存在於內存當中。
持久化:將內存中的數據同步到硬盤中。
redis的持久化方式分爲兩種:
1.RDB方式。
默認支持,即在指定的間隔時間內將內存中的數據以及快照寫入磁盤。
優點:只有一個文件按期的存儲數據或者快照,恢復起來至關方便。
劣勢:因爲是按期的存儲,假設30s存儲一次,若是上一次存儲後過了26s的時候,服務器掛掉了,這時恢復出來的數據就會丟失這26s的數據。
因爲是默認支持,因此redis的配置文件中確定有相關配置,咱們來查看看下redis的配置文件redis.confredis
save 900 1 save 300 10 save 60 10000
第一行表示:每900s若是有一個key值發生變化,則生成一次dump文件,即生成一個快照。
第二行:每300s若是有10個key值發生變化,則生成一次快照,向硬盤上寫一次數據。
第三行:每60s若是有1w個key值發生變化,則生成一次快照,向硬盤寫一次數據。
以下咱們來看一下快照文件的名稱以及存儲路徑安全
# The filename where to dump the DB dbfilename dump.rdb # The working directory. # # The DB will be written inside this directory, with the filename specified # above using the 'dbfilename' configuration directive. # # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. dir ./
由如上的配置文件咱們能看出:
1.快照文件的名稱是dump.rdb
2.快照文件的存儲路徑是:./,表示與配置文件同一路徑下面
2.AOF方式。
須要配置,即 以日誌的形式記錄服務器所處理的每個操做。 優點:安全性比較高,它支持每秒生成一第二天志、每次修改生成一第二天志等,基本上不會漏掉服務器的任何一次操做。
劣勢:因爲是記錄日誌的形式,因此性能上面比不過RDB方式。服務器