Redis其實是用C語言寫的程序,這個程序用來儲存 key-value數據,資料先放在內存,然後寫入磁碟指定位置。
我們在下面整理Redis儲存兩種方式: RDB和AOF (建議學習:Redis影片教學)
#第一種方式:RDB(Redis DataBase)
RDB是將資料寫入一個臨時文件,並持久化結束後,以這個暫存檔案取代上次持久化的文件,達到資料復原。
rdis database儲存方式,是將資料儲存在一個xxx.rdb的檔案中。文件中保存的資料就是redis中的記憶體資料。預設的儲存方式,效率高,對磁碟的存取比較合理,對記憶體資料的監控也是有一定臨界值的,保證資料盡可能不遺失。
redis.conf
# In the example below the behaviour will be to save: # after 900 sec (15 min) if at least 1 key changed # after 300 sec (5 min) if at least 10 keys changed # after 60 sec if at least 10000 keys changed # Note: you can disable saving completely by commenting out all "save" lines. # It is also possible to remove all the previously configured save # points by adding a save directive with a single empty string argument # like in the following example: # save "" # 持久数据的规则. RDB持久规则. 存储数据的文件由dbfilename参数决定 save 900 1 save 300 10 save 60 10000 # RDB持久数据的文件命名. 可以使用绝对路径配置,如果没有路径配置,在命令运行的相对位置开始寻址存在。 dbfilename dump.rdb
第二種方式:AOF(appendonly file)
AOF是將執行過的指令記錄下來,資料恢復時會依照從前到後的順序再將指令執行一遍,實現資料恢復。
其中,AOF預設關閉,開啟方法,修改設定檔redis.conf:appendonly yes
append of file 儲存方式。對磁碟和IO的資源需求,比rdb方式高很多。對redis伺服器的效能有很大的影響。 Aof和rdb可以同時開啟,但是,在redis重啟的時候,會優先讀取aof中儲存的資料變更日誌。不建議同時啟用,對磁碟的壓力和IO的壓力太高。推薦使用rdb。
# 是否启用append of file持久化方式.默认关闭. # 每秒持久一次数据. 以追加的方式,持久到数据文件. appendonly no # aof持久方式的文件名称. appendfilename "appendonly.aof"
更多Redis相關技術文章,請造訪Redis入門教學欄位學習!
以上是redis儲存方式有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!