您好,登錄后才能下訂單哦!
Redis所有數據都是保存在內存中。下面講述三種備份方式:
1.定期地通過異步方式保存到磁盤上,該方式稱為半持久化模式。
1)半持久化RDB模式也是Redis備份默認方式,是通過快照完成的,當滿足redis.conf配置文件中設置的相關條件時,Redis會自動將內存中的所有數據進行快照并存儲在硬盤上,完成數據備份。
2)RDB快照的條件由用戶在redis.conf配置文件中自定義,由時間和改動的關鍵字數來確定,當在指定的時間內被更改的鍵的個數大于指定的數值時就會時進行快照。以下是預置的3個條件,只要滿足其中一個條件,就會進行快照。
save 900 1 #刷新快照到硬盤中,必須滿足兩者要求才會觸發,即900秒之后至少1個關鍵字發生變化。
save 300 10 #必須是300秒之后至少10個關鍵字發生變化。
save 60 10000 #必須是60秒之后至少10000個關鍵字發生變化。
3)如果禁用自動快照,將所有save參數刪除或注釋即可。
4)獲取redis數據保存的路徑:
127.0.0.1:6379> config get dir
"dir"
"/usr/local/redis/bin"
5)建議修改數據保存路徑: # vim redis.conf?
dir ./? #默認所在安裝的目錄
dir /data/redis? ?#修改成新的路徑
操作技能:要先創建好保存路徑,配置文件才會生效,否則會宕掉redis服務
[root@redis_master /]# mkdir -p /data/redis?
6)測試修改數據存放效果
127.0.0.1:6379> config get dir
?"dir"
"/data/redis"
7)RDB方式實現持久化,一旦Redis異常退出,就會丟失最后次快照以后更改的所有數據。
2.全持久化AOF模式
1)如果數據很重要,不能損失任數據,可以考慮使用AOF方式進行持久化,默認Redis沒有開啟AOF方式的全持久化模式。
2)允許同時開啟AOF和RDB,即保證了數據安全又使得進行備份等操作十分容易。
3)參數配置詳解:
appendonly yes #開啟AOF持久化功能
appendifilename appendonly.aof #保存文件名
appendfsync always #每次執行寫入都會執行同步,最安全也最慢
auto-aof-rewirte-percentage 100 #參數的意義時當目前的AOF文件大小超過上一次AOF重寫時的文件大小的百分之多少時會再次進行重寫,如果之前沒有重寫過,則以啟動時的AOF文件大小為依據。
auto-aof-rewrite-min-size 64MB #限制允許重寫的AOF文件最小的大小。
appendsync everysec? #每秒執行一次同步操作。
appendsync no? #不主動進行同步操作,每30s一次,最快也不最安全。
3.Redis主從復制備份
1)通過持久化功能,保證了即使服務器重啟的情況下也不會損失或少量損失數據。但是由于數據是存儲在一臺服務器上的,如果這臺服務器的硬盤出現故障,也會導致數據丟失。
2)為了避免單點故障,將數據庫復制多個副本以部署在不同的服務器上,即使有一臺服務器出現故障其他服務器依然可以繼續提供服務,這就要求當一臺服務器上的數據庫更新后,可以自動將更新的數據同步到其他服務器上。
3)可以基于主從同步實現讀寫分離以提高服務器的負載能力。
4)主數據庫只進行操作,而從數據庫負責讀操作。
5)可以基于LVS+keepalived對Redis實現均衡和高可用。
6)主庫崩潰時可以降為從庫,從庫也可以升級成為主庫。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。