本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Valkey 和 Redis OSS 組態和限制
Valkey 和 Redis OSS 引擎各提供許多組態參數,其中有些可在 ElastiCache for Redis OSS 中修改,有些則無法修改以提供穩定的效能和可靠性。
無伺服器快取
對於無伺服器快取,不會使用參數群組,而且無法修改所有 Valkey 或 Redis OSS 組態。已備妥下列 Valkey 或 Redis OSS 參數:
名稱 | 詳細資訊 | 描述 |
---|---|---|
acl-pubsub-default |
|
快取上 ACL 使用者的預設 pubsub 通道許可。 |
client-output-buffer-limit |
|
一般用戶端沒有緩衝區限制。如果 PUB/SUB 用戶端違反 32MiB 待處理項目,或違反 8MiB 待處理項目達 60 秒,則將中斷連線。 |
client-query-buffer-limit |
1 GiB | 單一用戶端查詢緩衝區的大小上限。此外,用戶端不能發出超過 3,999 個引數的請求。 |
cluster-allow-pubsubshard-when-down |
yes |
如此即使快取在部分無法運作的狀況下,仍能處理 pubsub 流量。 |
cluster-allow-reads-when-down |
yes |
如此即使快取在部分無法運作的狀況下,仍能處理讀取流量。 |
cluster-enabled |
yes |
所有無伺服器快取都已啟用叢集模式,如此就能以公開透明的方式在多個後端碎片之間分割其資料。所有位置都會以單一虛擬節點擁有的形式對用戶端呈現。 |
cluster-require-full-coverage |
no |
當金鑰空間部分無法運作時 (也就是至少有一個雜湊位置無法存取),快取將會繼續針對仍涵蓋的金鑰空間部分接受查詢。整個金鑰空間在 cluster slots 中一律為單一虛擬節點「涵蓋」的狀態。 |
lua-time-limit |
5000 |
Lua 指令碼的執行時間上限 (毫秒),在此時間過後 ElastiCache 便會採取動作來停止指令碼。 如果超過 |
maxclients |
65000 | 一次可連線至快取的用戶端數量上限。進一步建立的連線不一定會成功。 |
maxmemory-policy |
volatile-lru |
達到快取記憶體限制時,已設定 TTL 的項目會在評估最近最少使用 (LRU) 之後移出。 |
notify-keyspace-events |
(空白字串) | 無伺服器快取目前不支援金鑰空間事件。 |
port |
主要連接埠:6379 讀取連接埠:6380 |
無伺服器快取會公告兩個相同主機名稱的連接埠。主要連接埠允許寫入和讀取,而讀取連接埠則允許使用 READONLY 命令的較低延遲的最終一致讀取。 |
proto-max-bulk-len |
512 MiB | 單一元素請求的大小上限。 |
timeout |
0 | 用戶端不會在特定閒置時間強制中斷連線,但可能會為了進行負載平衡,在穩定狀態期間中斷連線。 |
此外也設有下列限制:
名稱 | 詳細資訊 | 描述 |
---|---|---|
每個快取的大小 | 5,000 GiB | 每個無伺服器快取可儲存的資料量上限。 |
每個插槽的大小 | 32 GiB | 單一 Valkey 或 Redis OSS 雜湊槽的大小上限。嘗試在單一 Valkey 或 Redis OSS 插槽上設定超過此數量資料的用戶端將觸發插槽上的移出政策,如果沒有可移出的金鑰, 將收到記憶體不足 (OOM ) 錯誤。 |
每個快取的 ECPU | 每秒 15,000,000 個 ECPU | ElastiCache 處理單元 (ECPU) 指標。請求消耗的 ECPUs 數量取決於所花費的 vCPU 時間和傳輸的資料量。 |
每個插槽的 ECPU | 30K - 90K ECPU/秒 | 使用 READONLY 連線從複本讀取時,每個插槽最多 30K ECPUs秒或 90K ECPUs/秒。 |
每個請求的引數數 | 3,999 | 每個請求的引數數目上限。每個請求傳送更多引數的用戶端將收到錯誤。 |
金鑰名稱長度 | 4 KiB | 單一 Valkey 或 Redis OSS 金鑰或頻道名稱的大小上限。若用戶端參考的金鑰大於此值,則會收到錯誤。 |
Lua 指令碼大小 | 4 MiB | 單一 Valkey 或 Redis OSS Lua 指令碼的大小上限。若嘗試載入的 Lua 指令碼大於此值,則會收到錯誤。 |
自行設計的叢集
對於自行設計的叢集,請參閱 Valkey 和 Redis OSS 參數 當中所述的組態參數預設值,並了解哪些可設定。預設值為一般建議,除非您的使用案例較為特殊,需要覆寫這些值。