決定您是否想要使用 Azure Cache for Redis

已完成

您的運動網站背後是一個資料庫,其可藉由執行查詢來傳回資料。 不過,當負載很高時 (特別是在大型運動賽事期間),效能就會降低。 在裝載環境中,增加的資源使用量會轉化為較高的成本。 快取資料可確保您的網站運作正常,並以經濟實惠的方式執行。

什麼是快取?

快取是將經常存取的資料儲存在記憶體中的動作,使資料非常接近取用資料的應用程式。 快取是用來提高效能並降低伺服器上的負載。 我們可以使用 Redis 來建立記憶體內部快取,此快取可提供極短的延遲,因此有機會改善效能。

什麼是 Redis 快取?

Redis (RE mote DI ctionary S erver,遠端字典伺服器) 快取是開放原始碼、記憶體內部的索引鍵值組存放區。 Redis 非常熱門,因為它速度很快,而且可以儲存和處理一般資料類型,例如字串、雜湊與集合。 它也被視為開發人員易於使用的存放區,因為它支援多種語言,例如 Python、C、C++、C#、Java 和 JavaScript 等等。

什麼是 Azure Cache for Redis?

Azure Cache for Redis 是以常用的開放原始碼 Redis 快取為基礎。 它可讓您存取由 Microsoft 管理的安全、專用 Redis 快取。 使用 Azure Cache for Redis 建立的快取,可透過 Azure 內的任何應用程式加以存取。 Azure Cache for Redis 通常用來為高度依賴後端資料存放區的系統改善效能。

快取的資料位於執行 Redis 快取的 Azure 伺服器記憶體內部,而不是由資料庫從磁碟載入。 快取也具有高度延展性。 您可以隨時變更大小和定價層。

快取中可以儲存什麼類型的資料?

Redis 支援各種以 二進位安全 字串為核心的資料類型。 這表示您可以針對某個值使用任何二進位序列,從例如 "i-love-rocky-road" 的字串到映像檔的內容。 空字串也是有效值。

  • 二進位安全字串 (最常見)
  • 字串的清單
  • 未排序的字串集合
  • 雜湊
  • 排序的字串集合
  • 字串的對應

每個資料值都與 索引鍵 相關聯,索引鍵可用來從快取中查閱值。 Redis 在值越小 (不超過 100k) 時運作得最好,因此請考慮將較大的資料切分成多個索引鍵。 儲存較大的值也可行 (最多 500 MB),但是會增加網路延遲,而且如果快取未設定為讓舊值過期,則可能會導致快取和記憶體不足的問題。

什麼是 Redis 索引鍵?

Redis 索引鍵也是二進位安全字串。 以下是選擇索引鍵的一些指導方針:

  • 避免長索引鍵。 因為它們必須逐位元組比較,所以會佔用更多的記憶體,而且需要較長的查閱時間。 如果您想要使用二進位 Blob 作為索引鍵,請改為產生唯一雜湊,並且使用產生的項目作為索引鍵。 索引鍵的大小上限為 512 MB,但 請勿 使用該大小的索引鍵。
  • 使用可以識別資料的索引鍵。 例如,"sport:football;date:2008-02-02" 是比 "fb:8-2-2" 更好的索引鍵。 前者更容易閱讀,而且多出來的大小微不足道。 請在大小與可讀性之間尋找平衡。
  • 使用慣例。 好的慣例會像是 "object:id",例如 "sport:football"。

資料如何儲存在 Redis 快取中?

Redis 中的資料儲存在 節點叢集 中。

節點 是 Redis 中儲存資料的空間。

叢集 是資料集分散到的三個或多個節點的集合。 叢集很有用,因為如果節點故障或無法與叢集的其餘節點進行通訊,您的作業會繼續執行。

什麼是 Redis 快取架構?

Redis 快取架構是我們在快取中分散資料的方式。 Redis 會以三種主要方式來散發資料:

  1. 單一節點
  2. 多個節點
  3. 叢集

Redis 快取架構依層級分散於 Azure 中:

基本快取

基本版快取可提供您 單一節點 Redis 快取。 完整的資料集將會儲存在單一節點中。 本層適用於開發/測試和非重大的工作量。

標準快取

標準快取會建立 多個節點 架構。 Redis 將以兩個節點的主要/次要設定複寫快取。 Azure 可管理兩個節點之間的複寫作業。 這是具有主要/從屬複寫且已準備好投入生產環境的快取。

進階層

進階層包括標準層的功能,但新增了保存資料、建立快照集和備份資料的能力。 利用這一層,您可以建立 Redis 叢集,此叢集會跨多個 Redis 節點進行資料分區來增加可用的記憶體。 進階層也支援 Azure 虛擬網路,可讓您完整控制連線、子網路、IP 位址和網路隔離。 這一層也包含異地複寫,因此可以確保您的資料接近取用它的應用程式。

摘要

資料庫很適合用來儲存大量資料,但查閱資料時存在固有的延遲。 您可以傳送查詢。 伺服器會解譯查詢、查閱資料,並加以傳回。 伺服器對處理要求也有容量限制。 如果提出太多要求,資料擷取的速度可能會變慢。 快取會將經常要求的資料儲存在記憶體中,因此可以比查詢資料庫更快傳回資料,這應該能降低延遲並提高效能。 Azure Cache for Redis 可讓您存取裝載於 Azure 中、由 Microsoft 所管理且可調整的專用安全 Redis 快取。