怎樣從RDB方式切換為AOF方式?
怎樣從RDB方式切換為AOF方式
在 Redis 2.2 或以上版本,可以在不重啟的情況下,從 RDB 切換到 AOF :
為最新的 dump.rdb 文件創建一個備份、將備份放到一個安全的地方。執行以下兩條命令:
redis-cli?config?set?appendonly?yes?redis-cli?config?set?save?“”?復制代碼
確保寫命令會被正確地追加到 AOF 文件的末尾。 執行的第一條命令開啟了 AOF 功能: Redis 會阻塞直到初始 AOF 文件創建完成為止, 之后 Redis 會繼續處理命令請求, 并開始將寫入命令追加到 AOF 文件末尾。
執行的第二條命令用于關閉 RDB 功能。 這一步是可選的, 如果你愿意的話, 也可以同時使用 RDB 和 AOF 這兩種持久化功能。
重要:別忘了在 redis.conf 中打開 AOF 功能!否則服務器重啟后,之前通過 CONFIG SET 命令設置的配置就會被遺忘, 程序會按原來的配置來啟動服務器。
優先選擇 RDB 還是 AOF 呢?
分析對比兩種方式并做了測試后,發現這是兩種不同風格的持久化方式,那么應該如何選擇呢?
對于企業級的中大型應用,如果不想犧牲數據完整性但是又希望保持高效率,那么你應該同時使用 RDB 和 AOF 兩種方式;
如果你不打算耗費精力在這個地方,只需要保證數據完整性,那么優先考慮使用 AOF 方式;
RDB 方式非常適合大規模的數據恢復,如果業務對數據完整性和一致性要求不高,RDB是很好的選擇。
備份redis數據的建議
確保你的數據有完整的備份,磁盤故障、節點失效等問題問題可能讓你的數據消失不見, 不進行備份是非常危險的。
Redis 對于數據備份是非常友好的, 因為你可以在服務器運行的時候對 RDB 文件進行復制: RDB 文件一旦被創建, 就不會進行任何修改。 當服務器要創建一個新的 RDB 文件時, 它先將文件的內容保存在一個臨時文件里面, 當臨時文件寫入完畢時, 程序才使用 rename(2) 原子地用臨時文件替換原來的 RDB 文件。
這也就是說,無論何時,復制 RDB 文件都是絕對安全的。
創建一個定期任務( cron job ), 每小時將一個 RDB 文件備份到一個文件夾, 并且每天將一個 RDB 文件備份到另一個文件夾。
確保快照的備份都帶有相應的日期和時間信息, 每次執行定期任務腳本時, 使用 find 命令來刪除過期的快照: 比如說, 你可以保留最近 48 小時內的每小時快照, 還可以保留最近一兩個月的每日快照。
至少每天一次, 將 RDB 備份到你的數據中心之外, 或者至少是備份到你運行 Redis 服務器的物理機器之外。
Redis 密碼持久化
在 Redis 中數據需要持久化,密碼也要持久化。在客戶端通過命令:
config?set?requirepass?zxc9527?復制代碼
可以為 Redis 設置值為zxc9527的密碼,但是當 Redis 關閉并重新啟動后,權限驗證功能就會失效,再也不需要密碼。所以,密碼也需要在 redis.conf 中持久化。打開 redis.conf 找到 requirepass 配置項,取消其注釋并在后面設置密碼:
requirepass?zxc9527?復制代碼
Redis
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。