整體最佳實務 - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

整體最佳實務

您可以在下方找到在 ElastiCache 中使用 Valkey、Memcached 和 Redis OSS 介面的最佳實務的相關資訊。

  • 使用啟用叢集模式的組態:啟用叢集模式可讓快取水平擴展,藉此達到比停用叢集模式的組態更高的儲存和輸送量。ElastiCache 無伺服器僅適用於啟用叢集模式的組態。

  • 使用長時間執行的連線:建立新連線費用昂貴,而且會佔用快取的時間和 CPU 資源。盡可能重複使用連線 (例如使用連線集區),以將此費用分攤至多個命令。

  • 從複本讀取:如果您使用 ElastiCache 無伺服器或已佈建讀取複本 (自行設計的叢集),請將讀取操作導向複本,以提高可擴展性和/或降低延遲。從複本讀取的內容最終會與主節點保持一致。

    在自行設計的叢集中,請避免將讀取請求導向單一讀取複本,因為節點失敗時,讀取可能會暫時無法使用。請設定用戶端將讀取請求導向到至少兩個讀取複本,或將讀取導向單一複本和主節點。

    在 ElastiCache 無伺服器中,從複本連接埠 (6380) 讀取時,會盡可能將讀取導向用戶端的本機可用區域,以減少擷取延遲。發生故障時,它將自動回復至其他節點。

  • 避免費時命令 -避免執行任何需要大量運算或輸入/輸出的操作,例如 KEYSSMEMBERS 命令。我們建議此方法,因為這些操作會增加叢集上的負載,並會影響叢集的效能。請改為使用 SCANSSCAN 命令。

  • 遵循 Lua 最佳實務 - 避免長時間執行的 Lua 指令碼,並且一律預先宣告用於 Lua 指令碼的索引鍵。我們建議此方法來判斷 Lua 指令碼並未使用跨位置命令。確認用於 Lua 指令碼中的鍵屬於相同位置。

  • 使用碎片 pub/sub – 使用 Valkey 或 Redis OSS 支援高輸送量的 pub/sub 工作負載時,我們建議您使用碎片 pub/sub (搭配 Valkey 使用,搭配 Redis OSS 7 或更新版本使用)。在啟用叢集模式的叢集中的傳統 pub/sub 會將訊息廣播到叢集中的所有節點,因此可能導致高 EngineCPUUtilization。請注意,在 ElastiCache 無伺服器中,傳統 pub/sub 命令會在內部使用碎片 pub/sub 命令。

主題