Redis三:持久化配置和測試(windows)


redis有兩種持久化方式:RDB和AOF。具體差別跟優缺點可參考Redis數據的兩種持久化方式對比

本篇只介紹這兩種方式怎么在windows環境下配置

RDB配置方式:

默認情況下,是快照RDB的持久化方式,將內存中的數據以快照的方式寫入二進制文件中,默認的文件名是dump.rdb:

 

 

找到Redis的配置文件所在位置,可以查看Redis服務的屬性:

 

 

我的是redis.windows-service.conf文件

 

配置含義:

900秒內,如果超過1個key被修改,則發起快照保存

300秒內,如果超過10個key被修改,則發起快照保存

60秒內,如果1萬個key被修改,則發起快照保存

默認配置不方便看效果,可將快照頻率設大一點,在redis.conf中增加一行:

save 10 1

保存后,啟動redis服務端和客戶端。在客戶端輸入命令:

 

添加幾條數據測試一下。

然后重啟Redis服務重新查看數據,數據存在即成功持久化。

 

 

 

 

AOF 配置方式

Redis配置文件里默認:

appendonly no

 

 

配置文件中的appendonly修改為yes,開啟AOF持久化。開啟后,啟動redis服務端,發現多了一個appendonly.aof文件

 

 

使用AOF做持久化,每一個命令以 Redis 協議的格式來保存,新命令會被追加到文件的末尾。 Redis 還可以在后台對 AOF 文件進行重寫,使得 AOF文件的體積不會超出保存數據集狀態所需的實際大小。

實際上,AOF持久化並不會立即將命令寫入到硬盤文件中,而是寫入到硬盤緩存,在接下來的策略中,配置多久來從硬盤緩存寫入到硬盤文件。所以在一定程度一定條件下,還是會有數據丟失,不過你可以大大減少數據損失。

# appendfsync always
appendfsync everysec
# appendfsync no

配置含義:

always: 每次操作都會立即寫入aof文件中

everysec: 每秒持久化一次(默認配置)

no: 不主動進行同步操作,默認30s一次

當然always一定是效率最低的,個人認為everysec就夠用了,數據安全性能又高。Redis也允許我們同時使用兩種方式,再重啟redis后會從AOF中恢復數據,因為AOF比RDB數據損失小嘛

配置好后,啟動redis客戶端,輸入命令:

 

 最后的flushall是清除所有的鍵值。打開appendonly.aof文件,可以看到:

 

 去掉最后面的flushall(也可以按照redis協議增加命令),重啟客戶端和服務端,看數據是否真的持久化了:

 

 說明使用AOF持久化也成功了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM