Azure Managed Redis 會根據 Redis Enterprise 軟體提供記憶體內部資料存放區。 Redis Enterprise 可改善 Redis 社群版本的效能和可靠性,同時維持相容性。 Microsoft 運作此服務並裝載於 Azure 上,可供 Azure 內部或外部的任何應用程式使用。 如需如何建置 Azure 受控 Redis 的詳細資訊,請參閱 Azure 受控 Redis 架構。
Azure 受控 Redis 可以改善大量使用後端數據存放區之應用程式的效能和延展性。 它能夠藉由將經常存取的數據保留在伺服器記憶體中,以處理大量的應用程式要求,以便快速寫入和讀取。
Redis 將重要的低延遲和高輸送量資料儲存解決方案帶入到現代化的應用程式。 此外,Redis 越來越多地用於非快取應用程式,包括資料擷取、重複刪除、訊息傳遞及排行榜
Azure 受控 Redis 可以獨立部署,或與其他 Azure 應用程式或資料庫服務一起部署,例如 Azure Container Apps、Azure App Service、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 受控 Redis 中,布隆过滤器可以快速判定重複項目和防止问题。 |
| 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 Managed Redis,每個層級都有不同的效能特性和價格層級。
階層和 SKU 速覽
以下是三個層級的儲存,用於將資料儲存在記憶體中:
記憶體最佳化適用於需要高記憶體對 vCPU 比率 (8:1) 但不需要最高輸送量效能的記憶體密集使用案例。 它為需要較少處理能力或輸送量的案例提供較低的價格點,使其成為開發和測試環境的絕佳選擇。
平衡 (記憶體+ 計算) 提供平衡的記憶體對 vCPU (4:1) 比率,使其非常適合標準工作負載。 此層提供記憶體和計算資源的健康平衡。
計算最佳化專為需要最大輸送量的效能密集型工作負載所設計,記憶體與 vCPU 的比例較低 (2:1)。 非常適合需要最高效能的應用程式。
這是同時儲存記憶體和磁碟資料的層級:
Flash Optimized (預覽) 可讓 Redis 叢集自動將較不常存取的數據從記憶體 (RAM) 移至 NVMe 記憶體。 這會降低效能,但可以在處理大型資料集時,以符合成本效益的方式擴充快取。
您也可以使用 資料持續性 功能,將記憶體內部層的資料儲存在磁碟上。 如果您遇到非預期的中斷,數據持續性會儲存磁碟上的數據備份複本,以便快速復原。 資料持久性與快閃優化層不同,後者設計用於磁碟儲存資料以進行典型操作。
使用 Flash Optimized 層將某些數據儲存在磁碟上並不會增加數據復原能力。 您也可以在 Flash 優化層上使用數據持續性。
Note
如需如何建構 Flash 優化層的詳細資訊,請參閱 Azure 受控 Redis 架構
- 如需如何在層級和 SKU 之間調整的指示,請參閱調整 Azure Managed Redis 執行個體。
- 有關價格資訊,請參閱 Azure Managed Redis 定價。
Important
所有使用超過 235 GB 儲存空間的記憶體內層級皆在公開預覽中,包括記憶體優化 M350 及以上版本;平衡 B350 及以上;以及 Compute Optimized X350 及以上版本。 所有這些層級和更高層級都處於公開預覽狀態。
所有 Flash 優化層都處於公開預覽狀態。
特徵比較
下表可協助說明階層所支援的一些功能:
| 功能描述 | 記憶體最佳化 | 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 託管 Redis 在具有多個可用性區域的地區中具區域冗餘。
當您使用高可用性 (HA) 時,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 |
| 360 * | 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 受控 Redis 提供高可用性。 SLA 的範圍僅涵蓋與快取端點的連線。 SLA 未涵蓋資料遺失防護。 如需 SLA 的詳細資訊,請參閱 SLA。 在 Azure 受控 Redis 實例中,可以停用高可用性。 關閉高可用性會降低價格,但會導致資料遺失和停機。 我們只建議停用開發/測試案例的高可用性。
其他定價考慮
Important
Azure 託管 Redis Enterprise 需要每個快取實例的 IP 位址。 目前,Azure 受管 Redis 會吸收 IP 地址費用,不會轉嫁給客戶。 未來帳單可能會改變。 如需詳細資訊,請參閱 IP位址定價。
Important
使用主動式異地復寫會在 Azure 區域之間產生數據傳輸。 Azure 受控 Redis 目前會吸收這些頻寬費用,而不會傳遞給客戶。 未來帳單可能會改變。 如需詳細資訊,請參閱頻寬價格。
依區域的可用性
Azure Managed Redis 會持續擴充到新的區域。 若要確認各區域中是否可提供,請參閱依區域提供的產品。
從 Azure Cache for Redis 移動
如需從 Azure Cache for Redis 移轉至 Azure 受控 Redis 的詳細資訊,請參閱 從 Azure Cache for Redis 移轉至 Azure 受控 Redis。