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

已完成

您的體育運動網站背後有一個資料庫,它會透過執行查詢來傳回資料。 不過,當負載很高時 (特別是在大型運動賽事期間),效能就會降低。 在裝載環境中,增加的資源使用量會轉化為較高的成本。 快取資料可以確保您的網站運作良好且經濟有效率。

什麼是快取?

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

什麼是 Redis 快取?

Redis (REmote DIctionary Server,遠端字典伺服器) 快取是開放原始碼、記憶體內部機碼值組存放區。 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 在值越小 (不超過 100kB) 時運作得最好,因此請考慮將較大的資料切分成多個機碼。 儲存較大的值也可行 (最多 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 快取。