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 ,如需轉載請自行聯系原作者