Azure Managed Redis 會根據 Redis Enterprise 軟體提供記憶體內部資料存放區。 Redis Enterprise 可改善 Redis 社群版本的效能和可靠性,同時維持相容性。 Microsoft 負責營運這項服務,並在 Azure 上架設,任何在 Azure 內外的應用程式都可以使用。 如需如何建置 Azure 受控 Redis 的詳細資訊,請參閱 Azure 受控 Redis 架構。
Azure 受控 Redis 可以改善大量使用後端數據存放區之應用程式的效能和延展性。 它能夠藉由將經常存取的數據保留在伺服器記憶體中,以處理大量的應用程式要求,以便快速寫入和讀取。
Redis 將重要的低延遲和高輸送量資料儲存解決方案帶入到現代化的應用程式。 此外,Redis 越來越多地用於非快取應用程式,包括資料擷取、重複刪除、訊息傳遞及排行榜
Azure 受控 Redis 可以獨立部署,或與其他 Azure 應用程式或資料庫服務一起部署,例如 Azure 容器應用程式、Azure App 服務、Azure Functions、Azure SQL 或 Azure Cosmos DB。
主要案例
Azure 受控 Redis 可藉由支援常見的應用程式架構模式來改善應用程式效能。 一些最常見的模式包括以下幾種:
| Pattern | Description |
|---|---|
| 資料快取 | 資料庫通常太大,無法直接載入快取中。 使用 快取側模式 ,僅在需要時才將資料載入快取。 當系統對資料做變更時,也能更新快取,然後將快取分發給其他用戶端。 此外,系統可以在資料上設定到期日,或使用收回原則,觸發資料更新進入快取。 |
| 內容快取 | 許多網頁是由使用靜態內容(如頁眉、頁腳和橫幅)的模板生成的。 這些靜態項目不應該經常變更。 相較於後端資料存放區,使用記憶體內部快取可讓您快速存取靜態內容。 此模式可減少處理時間和伺服器負載,讓網頁伺服器更具回應能力, 它能減少處理負載所需的伺服器數量。 Azure Managed Redis 提供 Redis 輸出快取提供者,以使用 ASP.NET 支援此模式。 |
| 工作階段存放區 | 此模式通常會與購物車和其他使用者記錄資料這類資訊搭配使用,而 Web 應用程式則會讓使用者 Cookie 與這些資訊產生關聯。 在 Cookie 中儲存過多資料會對效能產生負面影響,因為 Cookie 大小會增加,且每次請求都會被傳遞與驗證。 一般解決方案是使用 Cookie 作為索引鍵,來查詢資料庫中的資料。 當你使用記憶體內部快取(例如 Azure Managed Redis)時,將資訊與使用者建立關聯,會比與完整的關聯式資料庫互動更快。 |
| Deduplication | 通常,您需要判斷系統中是否已經發生動作,例如判斷是否已採取使用者名稱,或客戶是否已傳送電子郵件。 在 Azure Managed Redis 中,bloom 過濾器能快速辨識重複並防止問題。 |
| Leaderboards | Redis 為使用排序集合資料結構開發所有種類的排行榜提供了簡單而強大的支援。 此外,使用作用中異地複寫可以讓一個排行榜在全球範圍內共用。 |
| 作業與訊息佇列 | 當與要求關聯的工作需要時間執行時,應用程式通常會將工作新增到佇列。 較長的執行作業會排入佇列,而且通常是由另一部伺服器依序處理。 此延後工作的方法稱為工作佇列。 Azure 受控 Redis 提供分散式佇列,以在您的應用程式中啟用此模式。 |
| PowerBI/Analytics 加速 | 您可以使用 Redis ODBC 驅動程式來利用 Redis 進行 BI、報告和分析使用案例。 由於 Redis 通常比關係資料庫快得多,因此以這種方式使用 Redis 可大幅提升查詢回應性。 |
| 分散式交易 | 應用程式有時需要一系列針對後端資料存放區的命令,以執行單一不可部分完成的作業。 所有命令都必須都成功,或所有命令必須回復為初始狀態。 Azure Managed Redis 支援以單次交易執行命令批次。 |
Redis 版本
Azure Managed Redis 支援 Redis 7.4.x 版。 如需詳細資訊,請參閱 如何升級 Azure 受控 Redis 實例的版本。
選擇正確的階層
Azure 管理式 Redis 有四種等級,每個等級都有不同的效能特性與價格等級。
階層和 SKU 速覽
以下是三個在記憶體中儲存資料的層級:
記憶體最佳化適用於需要高記憶體對 vCPU 比率 (8:1) 但不需要最高輸送量效能的記憶體密集使用案例。 它為需要較少處理能力或輸送量的案例提供較低的價格點,使其成為開發和測試環境的絕佳選擇。
平衡 (記憶體+ 計算) 提供平衡的記憶體對 vCPU (4:1) 比率,使其非常適合標準工作負載。 此層提供記憶體和計算資源的健康平衡。
計算最佳化專為需要最大輸送量的效能密集型工作負載所設計,記憶體與 vCPU 的比例較低 (2:1)。 非常適合需要最高效能的應用程式。
這是同時在記憶體和磁碟中儲存資料的層級:
快閃最佳化可讓 Redis 叢集自動將較不常存取的資料從記憶體 (RAM) 移至 NVMe 儲存體。 這種記憶體使用量的降低可能會降低效能,但可讓快取在處理大型資料集時,仍能以符合成本效益的方式擴充規模。
您也可以使用 資料持續性 功能,將記憶體內部層的資料儲存在磁碟上。 如果您遇到非預期的中斷,數據持續性會儲存磁碟上的數據備份複本,以便快速復原。 資料持久性與快閃優化層不同,後者設計用於磁碟儲存資料以進行典型操作。
使用快閃優化層級將部分資料儲存在磁碟上,並不會提升資料韌性。 您也可以在 Flash 優化層上使用數據持續性。
Note
欲了解更多 Flash Optimized 層級架構的資訊,請參見 Azure Managed Redis 架構。
- 如需如何在層級和 SKU 之間調整的指示,請參閱調整 Azure Managed Redis 執行個體。
- 有關價格資訊,請參閱 Azure Managed Redis 定價。
Important
所有使用超過 350 GB 儲存空間的記憶體等級皆處於預覽階段,包括記憶體優化 M500 及以上版本;平衡B500及以上;以及 Compute Optimized X500 及以上版本。 這些等級及以上的版本都在預覽階段。
閃存優化等級的 A2000 和 A4500 目前仍在預覽階段。
特徵比較
下表說明各層級支援的一些功能:
| 功能描述 | 記憶體最佳化 | Balanced | 計算最佳化 | 快閃最佳化 |
|---|---|---|---|---|
| 大小 (GB) | 12 - 1920 | 0.5 - 960 | 3 - 720 | 250 - 4500 |
| 服務等級協定 (SLA) | Yes | Yes | Yes | Yes |
| 傳輸中資料加密 | 是(私人端點) | 是(私人端點) | 是(私人端點) | 是(私人端點) |
| 複寫和容錯移轉 | Yes | Yes | Yes | Yes |
| 網路隔離 | Yes | Yes | Yes | Yes |
| Microsoft Entra ID 型驗證 | Yes | Yes | Yes | Yes |
| 縮放 | Yes | Yes | Yes | Yes |
| 高可用性 | *是 | *是 | *是 | *是 |
| 資料持續性 | Yes | Yes | Yes | Yes |
| Geo-replication | 是 (主動) | 是 (主動) | 是 (主動) | No |
| 非叢集執行個體 | Yes | Yes | Yes | No |
| 連線稽核記錄 | 是 (以事件為基礎) | 是 (以事件為基礎) | 是 (以事件為基礎) | 是 (以事件為基礎) |
| JSON 資料結構(也就是 Redis JSON) | Yes | Yes | Yes | Yes |
| 搜尋功能(包括向量搜尋) | Yes | Yes | Yes | No |
| 概率數據結構(也就是 Redis Bloom) | Yes | Yes | Yes | Yes |
| 時間序列資料庫功能(也就是 Redis TimeSeries) | Yes | Yes | Yes | Yes |
| Import/Export | Yes | Yes | Yes | Yes |
* 啟用 高可用性 時,Azure Managed Redis 實例部署時,主分片與副本分散於至少兩個節點。
在支援可用性區域的區域,Azure Managed Redis 預設會將節點分配到不同區域。 欲了解更多資訊,請參閱 Azure Managed Redis 的可靠性。
Important
平衡 B0 和 B1 SKU 選項不支援作用中異地複寫。
Note
在某些情況下,縮小支援受到限制。 如需詳細資訊,請參閱 調整 Azure 受控 Redis 的限制。
網路效能
如果您的工作負載需要高輸送量,網路頻寬可能會導致瓶頸。 您可以移至較高的效能層級,或移至大型實例大小來增加頻寬。 由於底層虛擬機承載快取,大型實例具有更多的頻寬。 較高的頻寬上限有助於避免導致應用程式逾時的網路壅塞。 欲了解更多頻寬效能資訊,請參見 效能測試。
用戶端連線數目上限
每個 SKU 都有用戶端連線數目上限。 隨著效能層級提升和實例大小增加,這個限制會增加。 下表顯示每個 Azure 受控 Redis SKU 允許的最大用戶端連線。
記憶體優化、平衡與運算優化的產品單位 (SKU)
此表顯示記憶體優化、平衡及計算 SKU 依階層與記憶體大小的最大連線數。
| 大小 (GB) | Memory 已最佳化 |
Balanced | Compute 已最佳化 |
|---|---|---|---|
| 0.5 | - | 15,000 | - |
| 1 | - | 15,000 | - |
| 3 | - | 15,000 | 30,000 |
| 6 | - | 15,000 | 30,000 |
| 12 | 15,000 | 30,000 | 75,000 |
| 24 | 30,000 | 75,000 | 150,000 |
| 60 | 75,000 | 150,000 | 200,000 |
| 120 | 150,000 | 200,000 | 200,000 |
| 175 | 200,000 | 200,000 | 200,000 |
| 235 | 200,000 | 200,000 | 200,000 |
| 350 | 200,000 | 200,000 | 200,000 |
| 480 * | 200,000 | 200,000 | 200,000 |
| 720 * | 200,000 | 200,000 | 200,000 |
| 960 * | 200,000 | 200,000 | - |
| 1440 * | 200,000 | - | - |
| 1920 * | 200,000 | - | - |
| 4500 * | - | - | - |
* 帶有星號的尺寸目前為預覽版。
快閃最佳化 SKU
下表顯示了 Flash 優化 SKU 中依階層與記憶體大小的最大連線數。
| 大小 (GB) | Flash 已最佳化 |
|---|---|
| 235 | 75,000 |
| 480 | 150,000 |
| 720 | 200,000 |
| 960 | 200,000 |
| 1440 | 200,000 |
| 1920 * | 200,000 |
| 4500 * | 200,000 |
* 帶有星號的尺寸目前為預覽版。
高可用性
Azure Managed Redis為快取端點提供高可用性。 如需 SLA 的詳細資訊,請參閱 SLA。 你可以在 Azure Managed Redis 實例中關閉高可用性。 關閉高可用性會降低價格,但會導致資料遺失和停機。 僅應在開發/測試情境下停用高可用性。
其他定價考慮
Important
Azure 託管 Redis Enterprise 需要每個快取實例的 IP 位址。 目前,Azure Managed Redis會吸收IP地址費用,並不會轉嫁給客戶。 未來帳單可能會改變。 如需詳細資訊,請參閱 IP位址定價。
Important
使用主動式異地復寫會在 Azure 區域之間產生數據傳輸。 目前,Azure Managed Redis會吸收這些頻寬費用,並不會轉嫁給客戶。 未來帳單可能會改變。 如需詳細資訊,請參閱頻寬價格。
依區域的可用性
Azure Managed Redis 會持續擴充到新的區域。 若要確認各區域中是否可提供,請參閱依區域提供的產品。
從 Azure Cache for Redis 移動
欲了解更多關於從 Azure Cache for Redis 遷移到 Azure Managed Redis,請參見: