什麼是 Azure Cache for Redis?
Azure Cache for Redis 會提供採用 Redis 軟體的記憶體內部資料存放區。 針對在後端資料存放區上重度使用的應用程式,Redis 可改善其效能和可擴縮性。 其能夠處理大量應用程式要求,方法為將經常存取的資料保留於伺服器記憶體中,以供快速寫入和讀取。 Redis 將重要的低延遲和高輸送量資料儲存解決方案帶入現代應用程式中。
Azure Cache for Redis 提供來自 Redis Inc. 的 Redis 開放原始碼 (OSS Redis) 和商業產品。(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 群集 | - | - | ✔ | ✔ | ✔ |
資料持續性 | - | - | ✔ | 預覽 | 預覽 |
區域備援 | - | - | 可用 | 可用 | 可用 |
異地複寫 | - | - | ✔ (被動式) | ✔ (主動式) | ✔ (主動式) |
連線稽核記錄 | - | - | ✔ (以輪詢為基礎) | ✔ (以事件為基礎) | ✔ (以事件為基礎) |
Redis 模組 | - | - | - | ✔ | 預覽 |
匯入/匯出 | - | - | ✔ | ✔ | ✔ |
重新啟動 | ✔ | ✔ | ✔ | - | - |
更新通道和排程更新 | ✔ | ✔ | ✔ | - | - |
注意
Enterprise Flash 層目前僅支援 RediSearch 模組 (預覽版) 和 RedisJSON 模組。
選擇正確的階層
在選擇 Azure Cache for Redis 服務層級時,請考慮下列選項:
- 記憶體:基本層和標準層提供 250 MB – 53 GB;進階層 6 GB - 1.2 TB;企業層 1 GB - 2 TB,以及企業快閃層 300 GB - 4.5 TB。 若要建立較大的快取實例,您可以使用 向外延展。如需詳細資訊,請參閱 Azure Cache for Redis 定價。
- 效能:「進階」層和 Enterprise 層中的快取是部署在處理器較快的硬體上,因此效能優於「基本」層或「標準」層。 Enterprise 層通常對於大部分工作負載都有最佳效能,尤其是使用較大的快取執行個體。 如需詳細資訊,請參閱效能計數器。
- Redis 伺服器的專用核心:C0 以外的所有快取都會執行專用 vCPU。 基本、標準和進階層會執行開放原始碼 Redis,根據設計,Redis 只會使用一個執行緒來處理命令。 在這些層上,擁有更多 vCPU 通常會改善輸送量效能,因為 Azure Cache for Redis 針對 I/O 處理或作業系統程序會使用其他 vCPU。 不過,每個實例新增更多 vCPU 可能不會產生線性效能增加。 相應放大在這些層中通常較相應增加提升更多效能。 Enterprise 和 Enterprise Flash 層都會在 Redis Enterprise 上執行,而 Redis Enterprise 能夠利用每個實例的多個 vCPU,這也可能會大幅提升其他層的效能。 針對 Enterprise 和 Enterprise Flash 層,建議在相應放大之前相應增加。如需詳細資訊,請參閱分區化和 CPU 使用率。
- 網路效能:如果您的工作負載需要高輸送量,與「基本」層或「標準」層相比,「進階」層或 Enterprise 層可提供更大的頻寬。 此外,因為每一層內有裝載快取的基礎 VM,較大型快取還有更大頻寬。 較高的頻寬限制可協助您避免在應用程式中造成逾時的網路飽和度。 如需詳細資訊,請參閱效能計數器。
- 用戶端連線的最大數目:進階層和 Enterprise 層提供可連線至 Redis 的最大用戶端數目,為較大型的快取提供更高的連線數目。 叢集會增加可供叢集快取使用的網路頻寬總數。
- 高可用性:Azure Cache for Redis 提供多個高可用性選項。 我們的 SLA 保證標準、進階或 Enterprise 快取的可用性。 SLA 僅涵蓋連線到快取端點的範圍。 SLA 未涵蓋資料遺失防護。 建議您使用進階層和 Enterprise 層中的 Redis 資料永續性功能,以增加資料遺失時的復原能力。
- 資料持續性:進階層和 Enterprise 層可讓您分別將快取資料保存到Azure 儲存體帳戶和受控磁碟。 基礎結構發生問題,可能會導致資料遺失。 建議您使用這些層級中的 Redis 資料持續性功能,以增加資料遺失時的復原能力。 Azure Cache for Redis 提供 RDB 和 AOF (預覽) 選項。 您可以透過 Azure 入口網站和 CLI 來啟用資料持續性。 如需進階層的詳細資訊,請參閱如何設定進階 Azure Cache for Redis 的持續性。
- 網路隔離:Azure Private Link 和虛擬網路 (VNET) 部署可為您的 Azure Cache for Redis 提供增強的安全性和流量隔離。 VNet 可讓您透過網路存取控制原則進一步限制存取。 如需詳細資訊,請參閱具備 Azure Private Link 的 Azure Cache for Redis 以及如何設定進階 Azure Cache for Redis 的虛擬網路支援。
- Redis 模組:Enterprise 層支援 RediSearch、RedisBloom、RedisTimeSeries 和 RedisJSON。 這些模組會將新的資料類型和功能新增至 Redis。
您可以在建立快取之後,將快取從基本層相應增加為 Premium。 目前並不支援向下調整至較低層級。 如需調整階層的逐步指示,請參閱如何調整 Azure Cache for Redis 和如何調整 - 基本、標準和進階層。
Enterprise 層的特殊考量
Enterprise 層依賴 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 需要標準網路 Load Balancer,其會與快取執行個體本身分開收費。 目前,Azure Cache for Redis 會吸收這些費用,並不會讓客戶負擔。 這在未來可能會變更。 如需詳細資訊,請參閱負載平衡器定價。
如果已針對多個可用性區域設定 Enterprise 快取,Azure Cache for Redis 會吸收資料傳輸費用,並不會讓客戶負擔。 這在未來可能會變更,其中資料傳輸會以標準網路頻寬費率計費
此外,資料持續性也會新增受控磁碟。 在 Enterprise 資料持續性的公開預覽期間可免費使用這些資源。 當功能正式推出時,這部分可能會有所變更。
可用性依區域劃分
Azure Cache for Redis 會持續擴充到新的區域。 若要確認各區域中是否可提供,請參閱依區域提供的產品。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應