什麼是 Azure Cache for Redis?

Azure Cache for Redis 會提供採用 Redis 軟體的記憶體內部資料存放區。 針對在後端資料存放區上重度使用的應用程式,Redis 可改善其效能和可擴縮性。 其能夠處理大量應用程式要求,方法為將經常存取的資料保留於伺服器記憶體中,以供快速寫入和讀取。 Redis 將重要的低延遲和高輸送量資料儲存解決方案帶入現代應用程式中。

Azure Cache for Redis 同時提供 Redis 開放原始碼 (OSS Redis) 和 Redis Inc. (Redis Enterprise) 的商業產品作為受控服務。 其提供安全且專用的 Redis 伺服器執行個體,以及完整的 Redis API 相容性。 此服務由 Microsoft 運作並裝載於 Azure 上,可供 Azure 內部或外部的任何應用程式使用。

Azure Cache for Redis 可用來作為分散式數據或內容快取、會話存放區、訊息代理程式等。 它可以獨立部署。 或者,它可以與其他 Azure 資料庫服務一起部署,例如 Azure SQL 或 Azure Cosmos DB。

重要案例

Azure Cache for Redis 藉由支援常見的應用程式架構模式來改善應用程式效能。 最常見的一些模式包括:

模式 描述
資料快取 資料庫通常太大,無法直接載入快取中。 常見的方法是使用另行快取模式,只在需要時,將資料載入至快取。 當系統對資料進行變更時,系統也可以更新快取,然後散發給其他用戶端。 此外,系統可以設定資料的到期時間,或使用收回原則來觸發資料更新到快取。
內容快取 許多網頁都是從使用靜態內容 (例如標題、頁尾、橫幅) 的範本所產生。 這些靜態項目不應該經常變更。 相較於後端資料存放區,使用記憶體內部快取可讓您快速存取靜態內容。 此模式可減少處理時間和伺服器負載,讓網頁伺服器更具回應性。 它可讓您減少處理負載所需的伺服器數目。 Azure Cache for Redis 會提供 Redis 輸出快取提供者,以使用 ASP.NET 來支援此模式。
工作階段存放區 此模式通常會與購物車和其他使用者歷程記錄這類資訊搭配使用,而 Web 應用程式會建立其與使用者 Cookie 的關聯。 在 Cookie 中儲存太多資料可能會對效能產生負面影響,因為 Cookie 的大小會增加,且會與每個要求一起傳遞和驗證。 一般解決方案會使用 Cookie 作為索引鍵來查詢資料庫中的資料。 當您使用記憶體內部快取,例如 Azure Cache for Redis 時,將資訊與用戶產生關聯的速度會比與完整關係資料庫互動更快。
作業與訊息佇列 當與要求關聯的工作需要時間執行時,應用程式通常會將工作新增到佇列。 執行時間較長的作業會排入佇列,且通常是由另一部伺服器依序處理。 這個延遲工作的方法稱為工作佇列。 Azure Cache for Redis 提供分散式佇列,在您的應用程式中啟用此模式。
分散式交易 應用程式有時需要一系列針對後端資料存放區的命令,以執行單一不可部分完成的作業。 所有命令必須成功,或所有命令必須復原為初始狀態。 Azure Cache for Redis 支援在一筆交易中執行一批命令。

Redis 版本

Azure Cache for Redis 支援 OSS Redis 4.0.x 版和 6.0.x 版。 我們已決定略過 Redis 5.0,以帶您最新版本。 先前,Azure Cache for Redis 會維護單一 Redis 版本。 未來,您可以選擇較新的主要版本升級,以及至少一個較舊的穩定版本。 您可以選擇最適合您應用程式的版本。

服務層

Azure Cache for Redis 可在以下層級使用:

描述
基本 在單一 VM 上執行的 OSS Redis 快取。 此層沒有服務等級協定 (SLA),非常適合用於開發/測試和非關鍵工作負載。
標準 在複寫設定的兩個 VM 上執行的 OSS Redis 快取。
Premium 高效能 OSS Redis 快取。 這一層提供較高的輸送量、較低的延遲、更佳的可用性,以及更多功能。 相較於基本或標準快取的 VM,進階快取會部署在功能更強大的 VM 上。
企業 Redis Inc.的 Redis Enterprise 軟體所提供的高效能快取。 此層支援 Redis 模組,包括 RediSearch、RedisBloom、RedisJSON 和 RedisTimeSeries。 此外,也提供比進階層級更高的可用性。
企業快閃層 Redis Inc.的 Redis Enterprise 軟體提供符合成本效益的大型快取。 此層將 Redis 資料儲存體擴充至 VM 上的非揮發性記憶體,其價格會比 DRAM 低。 這會降低整體個別 GB 記憶體成本。

功能比較

Azure Cache for Redis 定價會提供每個層級的詳細比較。 下表可協助描述階層支援的一些功能:

功能描述 基本 Standard Premium Enterprise 企業快閃層
服務等級協定 (SLA) -
傳輸中資料加密
網路隔離
調整大小 預覽 預覽
OSS 叢集 - -
資料持續性 - - 預覽 預覽
區域備援 - - 可用 可用 可用
異地複寫 - - ✔ (被動) ✔ (主動) ✔ (主動)
連線 ion 稽核記錄 - - ✔ (民意測驗) ✔ (事件型) ✔ (事件型)
Redis 模組 - - - 預覽​​
匯入/匯出 - -
重新啟動 - -
更新通道和排程更新 - -

注意

企業 Flash 層目前僅支援 RediSearch 模組(預覽版)和 RedisJSON 模組。

選擇正確的階層

選擇 Azure Cache for Redis 層時,請考慮下列選項:

  • 記憶體:基本層和標準層提供 250 MB – 53 GB;進階版 層 6 GB - 1.2 TB;企業層 4 GB - 2 TB,以及企業 Flash 層 300 GB - 4.5 TB。 若要建立大於 120 GB 的 進階版 層快取,您可以使用 Redis OSS 叢集。 如需詳細資訊,請參閱 Azure Cache for Redis 定價
  • 效能:進階版 和企業層中的快取會部署在處理器較快的硬體上,相較於基本層或標準層,提供更佳的效能。 企業層通常對於大部分工作負載都有最佳效能,尤其是使用較大的快取實例。 如需詳細資訊,請參閱 效能測試
  • Redis 伺服器的專用核心:C0 以外的所有快取都會執行專用 vCPU。 基本、標準和 進階版 層會執行 開放原始碼 Redis,根據設計,Redis 只會使用一個線程來處理命令。 在這些層上,擁有更多 vCPU 通常會改善輸送量效能,因為 Azure Cache for Redis 會針對 I/O 處理或作業系統進程使用其他 vCPU。 不過,每個實例新增更多 vCPU 可能不會產生線性效能增加。 相應放大通常可提升效能,而不是在這些層中相應增加。 Enterprise 和 Enterprise Flash 層快取會在 Redis Enterprise 上執行,而 Redis Enterprise 能夠利用每個實例的多個 vCPU,這也可能會大幅提升其他層的效能。 針對企業和企業快閃層,建議在相應放大之前相應增加。如需詳細資訊,請參閱 分區化和CPU使用率
  • 網路效能:如果您有需要高輸送量的工作負載,則相較於基本或標準,進階版 或企業層會提供更多頻寬。 此外,在每一層中,由於裝載快取的基礎 VM,較大的快取會有較多的頻寬。 較高的頻寬限制可協助您避免在應用程式中造成逾時的網路飽和度。如需詳細資訊,請參閱 效能測試
  • 用戶端連線數目上限:進階版 和企業層提供可連線到 Redis 的用戶端數目上限,為較大的快取提供較高的連線數目。 叢集會增加叢集快取可用的網路頻寬總數。
  • 高可用性:Azure Cache for Redis 提供多個 高可用性 選項。 它保證標準、進階版 或企業快取會根據我們的 SLA 提供。 SLA 僅涵蓋連線到快取端點的範圍。 SLA 不會涵蓋數據遺失的保護。 建議您在 進階版 和企業層中使用 Redis 數據持續性功能,以提高數據遺失的復原能力。
  • 數據持續性:進階版 和企業層可讓您分別將快取數據保存到 Azure 儲存體 帳戶和受控磁碟。 基礎結構問題可能會導致數據遺失。 我們建議在這些層中使用 Redis 數據持續性功能,以提高對數據遺失的復原能力。 Azure Cache for Redis 同時提供 RDB 和 AOF (預覽) 選項。 您可以透過 Azure 入口網站和 CLI 來啟用資料持續性。 如需 進階版 層,請參閱如何設定 進階版 Azure Cache for Redis 的持續性。
  • 網路隔離:Azure Private Link 和 虛擬網絡 (VNet) 部署可為 Azure Cache for Redis 提供增強的安全性和流量隔離。 VNet 可讓您進一步限制透過網路訪問控制原則的存取。 如需詳細資訊,請參閱 Azure Cache for Redis with Azure Private Link如何設定 進階版 Azure Cache for Redis 虛擬網絡 支援。
  • Redis 模組:企業層支援 RediSearchRedisBloomRedisTimeSeriesRedisJSON。 這些模組會將新的數據類型和功能新增至 Redis。

您可以在建立快取之後,將快取從基本層調整為 進階版。 目前不支持縮小至較低層。 如需逐步調整指示,請參閱如何調整 Azure Cache for Redis如何調整 - 基本、標準和 進階版 層

企業層的特殊考慮

企業層依賴 Redis Enterprise,這是 Redis Inc. 客戶的 Redis 商業變體,可透過 Azure Marketplace 供應專案取得並支付此軟體的授權。 Azure Cache for Redis 會管理授權取得,因此您不需要個別執行。 若要在 Azure Marketplace 中購買,您必須具備下列必要條件:

  • 您的 Azure 訂用帳戶具有有效的付款方式。 不支援 Azure 點數或免費 MSDN 訂用帳戶。
  • 您的組織允許 Azure Marketplace 購買
  • 如果您使用私人 Marketplace,它必須包含 Redis Inc. Enterprise 供應專案。

重要

Azure Cache for Redis Enterprise 需要與快取實例本身分開收費的標準網路負載平衡器。 目前,Azure Cache for Redis 會吸收這些費用,而不會傳遞給客戶。 這可能會在未來變更。 如需詳細資訊,請參閱 Load Balancer定價

如果已針對多個 可用性區域 設定企業快取,Azure Cache for Redis 會吸收數據傳輸費用,而不會傳遞給客戶。 這可能會在未來變更,其中數據傳輸會以 標準網路頻寬費率計費

此外,數據持續性會新增 受控磁碟。 在企業數據持續性的公開預覽期間,可以使用這些資源。 此功能正式推出時可能會變更。

可用性依區域劃分

Azure Cache for Redis 會持續擴充到新的區域。 若要依區域檢查可用性,請參閱 依區域提供的產品。