天天看點

redis-持久化

Redis持久化的方式有兩種:

一、SnapShotting 快照持久化:

1、持久化的配置:

此持久化預設開啟,一次性把Redis中所有資料儲存到硬碟中,如果資料非常多(10-20G)就不适合頻繁進行該持久化操作。

在redis.conf中可以找到快照持久化的配置資訊,如下:

<a href="https://s1.51cto.com/wyfs02/M01/9D/1E/wKioL1l6eMygo5N0AAAKHQa74fk517.jpg" target="_blank"></a>

save 900 1,如果900秒内超過1個key被修改,則發起快照持久化。

save 300 10 ,如果300秒内超過10個key被修改,則發起快照持久化。

save 60 10000 ,如果60秒内超過10000 個key被修改,則發起快照持久化。

以上三個save的意思是:

資料修改的頻率高,備份的頻率也高。

資料修改的頻率低,備份的頻率也低。

2、持久化的目錄和檔案名:

<a href="https://s1.51cto.com/wyfs02/M02/9D/1F/wKiom1l6euWT8beYAABboQ4-LyU792.jpg" target="_blank"></a>

3、手動發起快照持久化:

  ./redis-cli bgsave 

二、Append Only File 精細持久化(AOF):

1、本質:

把使用者執行的每個”寫“指令(添加、修改、删除)都備份到檔案中,還原資料的時候就是執行具體寫指令而已。是比快照持久化更詳細、準确的持久化,故稱為精細持久化。

注意:開啟AOF持久化會清空Redis中的資料,是以AOF持久化要在Redis服務開始使用前開啟。

2、開啟方式:AOF持久化預設是關閉的。

(1)、在redis.conf中将appendonly no 改為appendonly yes,

(2)、同時配置appendfilename appendonly.aof即可。

<a href="https://s5.51cto.com/wyfs02/M02/9D/1F/wKioL1l6h1TjMHerAAAcr0iWcP8608.jpg" target="_blank"></a>

3、aof備份頻率:

(1)、appendfsync always:每次修改就備份,影響Redis性能,很少用。

(2)、appendfsync no:看伺服器是否空閑,如果空閑才備份,不确定因素多,很少用。

(3)、appendfsync everysec:每秒備份一次,常用。

<a href="https://s1.51cto.com/wyfs02/M00/9D/1F/wKioL1l6ib3DS7MQAAAL2zIMvVk103.jpg" target="_blank"></a>

4、aof備份檔案的優化壓縮處理:bgrewriteaof,見如下截圖:優化前 appendonly.aof的大小457,優化後 appendonly.aof的大小為257

<a href="https://s5.51cto.com/wyfs02/M00/9D/21/wKioL1l6nOWB7h-JAAD9U6fje6Y443.jpg" target="_blank"></a>

本文轉自lzf0530377451CTO部落格,原文連結:http://blog.51cto.com/8757576/1951624 ,如需轉載請自行聯系原作者

繼續閱讀