共用方式為


為 Azure Managed Redis (預覽版) 執行個體設定資料持續性

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

重要

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

可用性範圍

記憶體最佳化、平衡、計算最佳化 快閃記憶體最佳化
可用的 Yes Yes

Redis 中的資料持續性類型

您有兩個選項可保存 Azure 受控 Redis: Redis 資料庫 (RDB) 格式和 [僅附加檔案 ] (AOF) 格式:

  • RDB 持續性 - 當您使用 RDB 持續性 時,Azure 受控 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 受控 Redis 快速入門指南中的指示。

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

    顯示 [企業層進階] 索引標籤和 [數據持續性] 的螢幕快照會以紅色方塊醒目提示。

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

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

  5. 依照 Azure 受控 Redis 快速入門指南中的其餘指示完成建立快取。

注意

您可以隨時流覽至 [資源] 功能表中的 [進階設定 ],將持續性新增至先前建立的 Azure 受控 Redis 實例。

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

使用 PowerShell

New-AzRedisEnterpriseCache 命令可用來使用數據持續性建立新的 Azure 受控 Redis 實例。 使用 RdbPersistenceEnabledRdbPersistenceFrequencyAofPersistenceEnabledAofPersistenceFrequency 參數來設定持續性設定。 此範例會建立新的平衡 B10 實例,並使用 RDB 持續性搭配一小時的頻率:

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 受控 Redis 實例。 使用 rdb-enabledrdb-frequencyaof-enabledaof-frequency 參數來設定持續性設定。 此範例會建立新的平衡 B10 實例,並使用 RDB 持續性搭配一小時的頻率:

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 受控 Redis 上,數據會儲存在掛接至快取實例的受控磁碟上。 根據預設,保存持續性資料的磁碟和 OS 磁碟都會使用 Microsoft 管理的金鑰來加密。 客戶自控金鑰 (CMK) 也可用來控制資料加密。 如需指示,請參閱 Azure 受控 Redis 上的加密。

永續性常見問題集

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

RDB 持續性

AOF 持續性

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

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

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

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

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

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

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

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

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

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

使用 AOF 持續性確實會影響輸送量。 AOF 在所有主要程序上執行,因此,和沒有 AOF 持續性的相同快取相比,具有 AOF 持續性的快取會有更高的 CPU 和伺服器負載。 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 檔案很大,則調整作業需要比正常情況更長的時間,因為它會在調整完成後重新載入檔案。

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

下一步