共用方式為


從 Azure Cache for Redis 移至 Azure 受控 Redis (預覽版)

在本文中,您將瞭解如何從 Azure Cache for Redis 實例移轉至 Azure 受控 Redis 實例(預覽版) 實例。

重要

Azure 受控 Redis 目前為預覽狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。

必要條件

Azure Cache for Redis 與 Azure 受控 Redis 之間的功能比較 (預覽)

功能描述 基本 Standard Premium 平衡 (預覽) 記憶體優化 (預覽) 計算最佳化 (預覽)
可用性 N/A 99.9% 99.9% N/A N/A N/A
傳輸中資料加密 Yes .是 .是 .是 .是 Yes
網路隔離 Yes .是 .是 .是 .是 Yes
相應增加/相應放大 Yes .是 .是 .是 .是 Yes
相應減少/縮小 Yes .是 No
OSS 群集 No .是 .是 .是 Yes
資料持續性 No .是 .是 .是 Yes
區域備援 No 是 (預覽) Yes .是 .是 Yes
異地複寫 No No 是 (被動) 是 (主動) 是 (主動) 是 (主動)
連線稽核記錄 No Yes 是(以事件為基礎) 是(以事件為基礎) 是(以事件為基礎)
Redis 模組 No .是 .是 Yes
匯入/匯出 No .是 .是 .是 Yes
重新啟動 Yes .是 No
排程的更新 Yes .是 No
Microsoft Entra ID 驗證 Yes .是 .是 .是 .是 Yes
Microsoft Entra ID RBAC Yes .是 No
Keyspace 通知 Yes .是 No
非高可用性 N/A .是 .是 Yes

以下是先前對應未涵蓋的一些其他差異。 請考慮下列用戶端應用程式變更:

功能描述 Azure Cache for Redis Azure 受控 Redis (預覽)
DNS 後綴 (僅適用於 PROD 雲端) .redis.cache.windows.net <region>.redis.azure.net
TLS 埠 6380 10000
非 TLS 連接埠 6379 不支援
個別節點 TLS 埠 130XX 85xx
個別節點非 TLS 埠 150XX 不支援
叢集支援 OSS 叢集模式 OSS 和企業叢集模式
不支援的命令 不支援的命令 多鍵命令
區域可用性 所有 Azure 區域 * 請參閱本節之後的區域清單。
Redis 版本 6 7.4
支援的 TLS 版本 1.2 和 1.3 1.2 和 1.3

Azure 受控 Redis 的區域可用性

下列區域目前支援 Azure 受控 Redis。 此清單會定期更新。 最後,Azure 受控 Redis 將支援 Azure 中的所有區域。 請與您的銷售聯繫人合作,在您需要支持的區域提出要求。

美洲 歐洲 中東 非洲 亞太地區
巴西南部 德國中西部 東亞
美國中西部 英國南部 澳大利亞東部
美國中北部 西歐 日本東部
美國西部 3 瑞典中部 東南亞
美國東部 2 印度中部
美國中南部
美國西部 2
美國東部
美國西部
美國中部
加拿大中部

將 Azure Cache for Redis 實例遷移至 Azure 受控 Redis

注意

請務必視需要使用快取來更新應用程式的其餘部分和相關 Azure 資源。

選取您要從 Azure 入口網站 移動的快取

Azure Cache for Redis Basic / Standard / Premium 非叢集

注意

使用 Azure 受控 Redis 的非高可用性選項來移轉基本 SKU

Azure Cache for Redis Azure 受控 Redis 其他記憶體 ≤
基本/標準 - C0 平衡 - B0 50
基本/標準 - C1 平衡 - B1 0
基本/標準 - C2 平衡 - B3 17
基本/標準 - C3 平衡 - B5 0
基本/標準 - C4 記憶體優化 – M10* -8
基本/標準 – C4 記憶體優化 – M20** 46
基本/標準 - C5 記憶體優化 – M20* -8
基本/標準 – C5 記憶體優化 – M50** 57
基本/標準 - C6 記憶體優化 - M50 12
進階 - P1 平衡 - B5 0
進階 - P2 平衡 - B10* -8
進階 - P2 平衡 - B20** 46
進階 - P3 平衡 - B20* -8
進階 - P3 平衡 - B50** 57
進階 - P4 平衡 - B50 12
進階 - P5 平衡 - B100 0
  • *此選項適用於成本效益。 請確定過去一個月已使用記憶體總數的尖峰小於建議的 Azure 受控 Redis 記憶體,以選擇此選項。
  • ** 這個選項適用於豐富的記憶體耗用量。

Azure Cache for Redis Premium 叢集

  • 針對分區化叢集,請選擇具有相等總記憶體的記憶體優化層。
  • 針對具有多個讀取複本的叢集,請選擇具有同等記憶體總計的計算優化層作為主要複本。

移轉選項

用戶端應用程式應該能夠使用具有不同叢集模式和端點的 Azure 受控 Redis 實例。 Azure Cache for Redis 和 Azure 受控 Redis(預覽版)相容,因此大多數案例不需要連線設定以外的應用程式程式代碼變更。

深入了解:

將 Azure Cache for Redis 遷移至 Azure 受控 Redis 的選項

選項 優點 缺點
建立新快取 最簡單的實作方式。 需要將資料重新填入至新的快取,這可能無法與許多應用程式搭配使用。
透過 RDB 檔案匯出和匯入資料 通常與任何 Redis 快取相容。 如果某些資料在產生 RDB 檔案之後寫入現有的快取,可能會遺失。
雙重寫入資料至兩個快取 沒有資料遺失或停機時間。 現有快取的未中斷作業。 更容易測試新的快取。 需要兩個快取一段延長的時間。
以程式設計方式移轉資料 完全控制資料的移動方式。 需要自訂程式碼。

建立新的 Azure Cache for Redis

這種方法在技術上不是移轉。 如果遺失數據並不相關,移至 Azure 受控 Redis 層最簡單的方式就是建立新的快取實例,並將您的應用程式連線到該層。 例如,如果您使用 Redis 做為資料庫記錄的另行快取,您可以輕鬆地從頭重建快取。 實作此選項的一般步驟如下:

  1. 建立新的 Azure 受控 Redis 實例。
  2. 更新應用程式以使用新的執行個體。
  3. 刪除舊的 Azure Cache for Redis 實例。

將數據匯出至 RDB 檔案,並將其匯入 Azure 受控 Redis

此選項僅適用於進階層快取。 開放原始碼 Redis 會定義標準機制,以擷取快取記憶體內部資料集的快照集,並將其儲存至檔案。 另一個 Redis 快取可以讀取導出的 RDB 檔案。 Azure Cache for Redis 進階層 支援透過 RDB 檔案從快取實例導出數據。 您可以使用 RDB 檔案將數據從現有的 Azure Cache for Redis 實例傳輸到 Azure 受控 Redis 實例。

實作此選項的一般步驟如下:

  1. 建立與現有 Azure Cache for Redis 實例大小相同(或大於)的新 Azure 受控 Redis 實例。
  2. 使用這些 導出指示PowerShell匯出 Cmdlet,從現有的 Azure Cache for Redis 實例匯出 RDB 檔案
  3. 使用這些匯入指示或 PowerShell 匯入 Cmdlet,將 RDB 檔案匯入新的 Azure 受控 Redis 實例
  4. 更新您的應用程式以使用新的 Azure 受控 Redis 實例 連接字串。

匯出資料

az redis export --resource-group <ResourceGroupName> --name <Azure Cache for Redis instance name> --prefix <BlobPrefix> --container <ContainerName> --file-format <FileFormat>

匯入資料

az redis import --resource-group <ResourceGroupName> --name <Azure Managed Redis instance name> --files <BlobUris>

以您的特定值取代 ResourceGroupName、CacheNameBlobPrefixContainerNameFileFormat。 --file-format_可以是 RDB 或 AOF。

在移轉期間同時寫入兩個 Redis 快取

除了直接在快取間移動資料,您也可以使用應用程式將資料寫入現有的快取,或您要設定的新快取。 應用程式一開始仍會從現有的快取讀取數據。 當新的快取具有必要的資料時,請將應用程式切換至該快取,並淘汰舊的快取。 例如,假設您使用 Redis 作為工作階段存放區,而應用程式工作階段有效期為七天。 寫入兩個快取一周之後,您就會確定新的快取包含所有未到期的會話資訊。 您可以從那時起放心地依賴它,而不需要擔心資料遺失。

實作此選項的一般步驟如下:

  1. 建立與現有 Azure Cache for Redis 實例相同的新 Azure 受控 Redis 實例大小(或大於)。
  2. 修改應用程式程式碼,以同時寫入新的和原始執行個體。
  3. 繼續從原始執行個體讀取資料,直到新執行個體已填入足夠資料為止。
  4. 將應用程式程式碼更新為只從新執行個體讀取和寫入。
  5. 刪除原始執行個體。

以程式設計方式移轉

以程序設計方式從現有的 Azure Cache for Redis 實例讀取數據,並將其寫入 Azure 受控 Redis 實例,以建立自定義移轉程式。 您可以嘗試兩個 開放原始碼 工具:

  • Redis-copy
    • 這個開放原始碼工具可用來將資料從某個 Azure Cache for Redis 執行個體複製到另一個。 此工具適用於在不同 Azure 快取區域中的快取執行個體之間移動資料。 編譯的版本也可供使用。 您也可以找到原始程式碼,作為撰寫您自己的移轉工具的實用指南。
  • 騷亂
    • RIOT 是 Redis 社群測試的另一個熱門移轉工具。 這是一個命令行公用程式,其設計目的是協助您從 Redis 中取出數據。

注意

Microsoft 未正式支援此工具。

實作此選項的一般步驟如下:

  1. 在現有快取所在的區域中建立 VM。 如果您的資料集很大,請選擇相對強大的 VM 以減少複製時間。
  2. 建立新的 Azure 受控 Redis 實例。
  3. 從新的快取排清資料,以確保它是空的。 這是必要步驟,因為複製工具本身不會覆寫目標快取中的任何現有索引鍵。 重要事項:請務必不要從來源快取排清。
  4. 使用如先前所述的開放原始碼工具,將數據從來源快取複製到目標自動化的應用程式。 請記住,複製程序可能需要一段時間才能完成,視資料集的大小而定。