本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
整體最佳實務
您可以在下方找到在 中使用 Valkey、Redis OSS和 Memcached 介面的最佳評價的相關資訊 ElastiCache。
使用啟用叢集模式的組態 – 啟用叢集模式可讓快取水平擴展,以達到比停用叢集模式的組態更高的儲存和輸送量。 ElastiCache serverless 僅適用於啟用叢集模式的組態。
使用長時間連線 – 建立新連線非常昂貴,而且需要快取的時間CPU和資源。盡可能重複使用連線 (例如使用連線集區),以將此費用分攤至多個命令。
從複本中讀取 – 如果您使用的是無ElastiCache 伺服器或已佈建僅供讀取複本 (自行設計的叢集), 會將僅供讀取導向複本,以達到更好的可擴展性和/或更低的延遲。從複本讀取的內容最終會與主節點保持一致。
在自行設計的叢集中,請避免將讀取請求導向單一讀取複本,因為節點失敗時,讀取可能會暫時無法使用。請設定用戶端將讀取請求導向到至少兩個讀取複本,或將讀取導向單一複本和主節點。
在無 ElastiCache 伺服器中,從複本連接埠 (6380) 讀取將盡可能將讀取導向用戶端的本機可用區域,從而降低擷取延遲。發生故障時,它將自動回復至其他節點。
避免費時命令 -避免執行任何需要大量運算或輸入/輸出的操作,例如
KEYS
和SMEMBERS
命令。我們建議此方法,因為這些操作會增加叢集上的負載,並會影響叢集的效能。請改為使用SCAN
和SSCAN
命令。遵循 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 命令。