共用方式為


設定 Azure 受控 Redis 執行個體的資料持續性

Redis持久化) 可讓您保存儲存在快取執行個體中的資料。 如果發生硬體失敗,快取執行個體會在重新上線時,透過來自持續性檔案的資料解除凍結。 保存資料的能力是提升快取執行個體持久性的重要方式,因為所有快取資料都是儲存在記憶體中。 如果因快取節點關閉而發生失敗,就可能會遺失資料。 持續性應該是使用 Azure 受控 Redis 的高可用性和災害復原策略的關鍵部分。

這很重要

資料持續性的目的是為非預期的 Redis 節點失敗提供復原能力,但並非資料備份或時間點復原 (PITR) 功能。 如果損毀的資料寫入 Redis 執行個體,此資料也會保存。 若要備份 Redis 執行個體,請使用匯出功能

可用性範圍

記憶體最佳化、平衡、計算最佳化 快閃最佳化
有現貨 Yes 是 (預覽)

Redis 中的資料持續性類型

您有兩個選項可以用來搭配 Azure Managed Redis 使用持續性:「Redis 資料庫」(RDB) 格式,以及「僅限附加檔案」(AOF) 格式:

  • RDB 持續性 - 當您使用 RDB 持續性時,Azure Managed Redis 會以二進位格式保存快取的快照集。 快照集會儲存在掛接至 Redis 執行個體的受控磁碟上。 可設定的備份頻率會決定保存快照集的頻率。 如果發生同時停用主要和複本的災難性事件,即可使用最新的快照集自動重新建構快取。 深入了解 RDB 持續性的優點缺點
  • AOF 持續性 - 當您使用 AOF 持續性時,Azure Managed Redis 會將每個寫入作業儲存至記錄。 記錄會在掛接至 Redis 執行個體的受控磁碟上每秒儲存一次。 如果發生同時停用主要和複本快取的災難性事件,即可使用儲存的寫入作業自動重新建構快取。 深入了解 AOF 持續性的優點缺點

這很重要

Azure Managed Redis 持續性功能是用來在發生資料遺失後自動將資料還原到相同的快取中。 RDB/AOF 持續性資料檔案無法供使用者存取,也無法匯入至新的或現有的快取。 若要跨快取移動資料,請使用 [匯入和匯出] 功能。 如需詳細資訊,請參閱在 Azure Managed Redis 中匯入和匯出資料

若要產生可新增至新快取的任何資料備份,可以使用 PowerShell 或 Azure CLI 撰寫自動化指令碼,以定期匯出資料。

先決條件與限制

持續性功能主要是在資料遺失後用來將資料還原到相同的快取。

  • RDB/AOF 保存的資料檔案無法匯入新的快取或現有的快取。 改用匯入/匯出 (部分機器翻譯) 功能。
  • 資料持續性要求快取必須啟用 高可用性。 當您使用 主動異地複寫時,不支援資料持續性。
  • 持有已保存資料檔案的受控磁碟預設會使用 Microsoft 受控金鑰 (MMK) 加密,但也可以使用客戶自控金鑰 (CMK)。 如需詳細資訊,請參閱管理資料加密

如何使用 Azure 入口網站設定資料持續性

  1. 登入 Azure 入口網站,然後依照 Azure Managed Redis 快速入門指南中的指示開始進行。

  2. 當您到達 [進階] 索引標籤時,請在 [資料持續性] 區段中選取 [RDB] 或 [AOF] 選項。

    螢幕擷取畫面顯示新的 Azure 受控 Redis 快取,其中包含 [進階] 索引標籤和 [資料持續性] ,並以紅色方塊醒目提示。

  3. 若要啟用 RDB 持續性,請選取 [RDB] 並進行設定。

    設定 建議的值 說明
    備份頻率 使用下拉式清單並選取備份間隔。 選項包括 [60 分鐘]、[6 小時],以及 [12 小時] 在先前的備份作業成功完成後,此間隔便會開始倒數計時。 間隔時間過了之後,系統就會起始新的備份。
  4. 若要啟用 AOF 持續性,請選取 [AOF]。 只有一個備份頻率選項可用。

  5. 遵循 Azure Managed Redis 快速入門指南中其餘的指示以完成建立快取。

備註

您可以隨時瀏覽至 [資源] 功能表中的 [進階設定],以將持續性新增至先前建立的 Azure Managed Redis 執行個體。

如何使用 PowerShell 和 Azure CLI 設定資料持續性

使用 PowerShell

New-AzRedisEnterpriseCache命令可用來使用資料持續性建立新的 Azure Managed Redis 執行個體。 使用 RdbPersistenceEnabledRdbPersistenceFrequencyAofPersistenceEnabledAofPersistenceFrequency 參數來設定持續性設定。 此範例會使用 RDB 持續性搭配一小時的頻率建立新的平衡 B10 執行個體:

New-AzRedisEnterpriseCache -Name "MyCache" -ResourceGroupName "MyGroup" -Location "West US" -Sku "Balanced_B10" -RdbPersistenceEnabled -RdbPersistenceFrequency "1h"

您可以使用 update-AzRedisEnterpriseCacheDatabase (部分機器翻譯) 命令來更新現有的快取。 此範例會將具有 12 小時頻率的 RDB 持續性新增至現有的執行個體:

Update-AzRedisEnterpriseCacheDatabase -Name "MyCache" -ResourceGroupName "MyGroup" -RdbPersistenceEnabled -RdbPersistenceFrequency "12h"

使用 Azure CLI

az redisenterprise create命令可用來使用資料持續性建立新的 Azure Managed Redis 執行個體。 使用 rdb-enabledrdb-frequencyaof-enabledaof-frequency 參數來設定持續性設定。 此範例會使用 RDB 持續性搭配一小時的頻率建立新的平衡 B10 執行個體:

az redisenterprise create --cluster-name "cache1" --resource-group "rg1" --location "East US" --sku "Balanced_B10" --persistence rdb-enabled=true rdb-frequency="1h" 

您可以使用 az redisenterprise database update (部分機器翻譯) 命令來更新現有的快取。 此範例會將具有 12 小時頻率的 RDB 持續性新增至現有的快取執行個體:

az redisenterprise database update --cluster-name "cache1" --resource-group "rg1" --persistence rdb-enabled=true rdb-frequency="12h" 

管理資料加密

由於 Redis 持續性會建立待用資料,因此對此資料進行加密對許多使用者而言非常重要。 在 Azure Managed Redis 上,資料會儲存在掛接至快取執行個體的受控磁碟上。 根據預設,保存持續性資料的磁碟和 OS 磁碟都會使用 Microsoft 管理的金鑰來加密。 客戶自控金鑰 (CMK) 也可用來控制資料加密。 如需指示,請參閱 Azure Managed Redis 上的加密

永續性常見問題集

下列清單包含 Azure Managed Redis 持續性相關常見問題的解答。

RDB 持續性

AOF 持續性

可以對先前建立的快取啟用永續性嗎?

可以,可在建立快取時以及在現有 Azure Managed Redis 執行個體上設定持續性。

我可以同時啟用 AOF 和 RDB 持續性嗎?

不可以,您可以啟用 RDB 或 AOF,但不能同時啟用。

持續性如何與異地複寫搭配運作?

如果您啟用資料持續性,則無法為您的快取啟用異地複寫。 這是因為在發生區域性中斷時,作用中異地複寫可以提供比資料持續性更好的復原能力。 如果您需要匯出資料複本作為備份,請改用匯出功能

我應該選擇哪一種持續性模型?

AOF 持續性會將每個寫入儲存至記錄,而這對輸送量有相當大的影響。 RDB 持續性是根據設定的備份間隔儲存備份,對效能的影響最小。 如果您的主要目標在於減少資料遺失,而且您可以接受較低的快取輸送量,請選擇 AOF 持續性。 如果您想要維持快取的最佳輸送量,但仍需要資料復原的機制,請選擇 RDB 持續性。

如需使用 AOF 持續性時之效能的詳細資訊,請參閱 AOF 持續性是否會影響快取的輸送量、延遲或效能?

AOF 持續性是否會影響快取的輸送量、延遲或效能?

使用 AOF 持續性確實會影響輸送量。 AOF 會在主要處理序上執行,因此您會看到具有 AOF 持續性之快取的 CPU 和伺服器負載高於沒有 AOF 持續性的相同快取。 AOF 提供記憶體中資料的最佳一致性,因為每個寫入和刪除在保存上只會有幾秒鐘的延遲。 代價是 AOF 更需要更大量的計算。

如果我縮放為不同規模,並還原為縮放作業之前製作的備份時,會發生什麼事?

針對 RDB 和 AOF 持續性:

  • 如果您縮放為較大的規模,則不會有任何影響。
  • 如果縮放為較小的規模,而且較小的規模中沒有足夠的空間可容納最後一次備份的所有資料,系統便會在還原程序中收回金鑰。 通常會使用 allkeys-lru 收回原則來收回金鑰。

我需要為在資料持續性中使用的受控磁碟支付費用嗎?

您無需支付受控磁碟儲存體的費用。 其已包括在價格中。

在建立快取之後,可以變更 RDB 備份頻率嗎?

是,您可以使用 Azure 入口網站、CLI 或 PowerShell 變更 RDB 持續性的備份頻率。

為什麼我的 RDB 備份頻率是 60 分鐘,備份的間隔卻超過 60 分鐘?

在前一個備份程序順利完成後,RDB 持續性備份頻率間隔才會開始計算。 如果備份頻率是 60 分鐘,而備份程序要 15 分鐘才能完成,則下一次備份要在先前的備份開始的 75 分鐘後才會開始。

建立新的備份時,舊的 RDB 備份會發生什麼事?

除了最新的備份外,所有 RDB 持續性備份都會自動刪除。 這項刪除作業可能不會立即發生,但較舊的備份不會無限期保存。

什麼是重寫,其對快取有何影響?

當 AOF 檔案變得夠大時,系統會自動將重寫作業排入快取佇列。 重寫作業會調整 AOF 檔案大小,只包含建立目前資料集所需的一組基本作業。 在重寫期間,您可以預期會更快達到效能限制,特別是在處理大型資料集時。 隨著 AOF 檔案越來越大,重寫的發生頻率會減少,但發生時將需要大量時間。

在啟用 AOF 下調整快取預期會發生什麼事?

如果 AOF 檔案在縮放比例時很大,縮放作業所花的時間會超出一般值,因為其會在縮放完成後重新載入檔案。

如需縮放的詳細資訊,請參閱如果我縮放為不同規模,並還原為縮放作業之前製作的備份時,會發生什麼事?

後續步驟