本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Valkey 和 Redis OSS組態和限制
Valkey 和 Redis OSS引擎各提供許多組態參數,其中有些可在 ElastiCache 中修改,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 | 單一用戶端查詢緩衝區的大小上限。此外,用戶端無法發出包含超過 4,000 個引數的請求。 |
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集合的項目會在 least-recently-used(LRU) 估算之後被移出。 |
notify-keyspace-events |
(空白字串) | 無伺服器快取目前不支援金鑰空間事件。 |
port |
主要連接埠:6379 讀取連接埠:6380 |
無伺服器快取會公告兩個相同主機名稱的連接埠。主要連接埠允許寫入和讀取,而讀取連接埠則允許使用 READONLY 命令的較低延遲的最終一致讀取。 |
proto-max-bulk-len |
512 MiB | 單一元素請求的大小上限。 |
timeout |
0 | 用戶端不會在特定閒置時間強制中斷連線,但可能會為了進行負載平衡,在穩定狀態期間中斷連線。 |
此外也設有下列限制:
名稱 | 詳細資訊 | 描述 |
---|---|---|
金鑰名稱長度 | 4 KiB | 單一 Valkey 或 Redis OSS金鑰或頻道名稱的大小上限。若用戶端參考的金鑰大於此值,則會收到錯誤。 |
Lua 指令碼大小 | 4 MiB | 單一 Valkey 或 Redis OSS Lua 指令碼的大小上限。若嘗試載入的 Lua 指令碼大於此值,則會收到錯誤。 |
位置大小 | 32 GiB | 單一 Valkey 或 Redis 雜OSS湊槽的大小上限。嘗試在單一 Valkey 或 Redis OSS插槽上設定超過此值的用戶端將觸發槽上的移出政策,而且如果沒有可移出的金鑰, 將收到記憶體不足 (OOM ) 錯誤。 |
自行設計的叢集
對於自行設計的叢集,請參閱 Valkey 和 Redis OSS 參數 當中所述的組態參數預設值,並了解哪些可設定。預設值為一般建議,除非您的使用案例較為特殊,需要覆寫這些值。