

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

# Valkey 和 Redis OSS 組態和限制
<a name="RedisConfiguration"></a>

Valkey 和 Redis OSS 引擎各提供許多組態參數，有些可在 ElastiCache for Redis OSS 中修改，有些則無法修改以提供穩定的效能和可靠性。

## 無伺服器快取
<a name="RedisConfiguration.Serverless"></a>

對於無伺服器快取，不會使用參數群組，而且無法修改所有 Valkey 或 Redis OSS 組態。已備妥下列 Valkey 或 Redis OSS 參數：


****  

|  Name  |  詳細資訊  |  Description  | 
| --- | --- | --- | 
| acl-pubsub-default | `allchannels` | 快取上 ACL 使用者的預設 pubsub 通道許可。 | 
| client-output-buffer-limit | `normal 0 0 0` `pubsub 32mb 8mb 60` | 一般用戶端沒有緩衝區限制。如果 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 便會採取動作來停止指令碼。如果超過 `lua-time-limit` ，所有 Valkey 或 Redis OSS 命令可能會傳回格式為 *\$1\$1\$1\$1-BUSY* 的錯誤。由於此狀態可能會對許多基本的 Valkey 或 Redis OSS 操作造成干擾，ElastiCache 會先發出 *SCRIPT KILL* 命令。如果失敗，ElastiCache 會強制重新啟動 Valkey 或 Redis OSS。 | 
| maxclients | 65000 | 一次可連線至快取的用戶端數量上限。進一步建立的連線不一定會成功。 | 
| maxmemory-policy | volatile-lru | 達到快取記憶體限制時，已設定 TTL 的項目會在評估最近最少使用 (LRU) 之後移出。 | 
| notify-keyspace-events | (空白字串) | 無伺服器快取目前不支援金鑰空間事件。 | 
| port | 主要連接埠：6379 讀取連接埠：6380 | 無伺服器快取會公告兩個相同主機名稱的連接埠。主要連接埠允許寫入和讀取，而讀取連接埠則允許使用 READONLY 命令的較低延遲的最終一致讀取。 | 
| proto-max-bulk-len | 512 MiB | 單一元素請求的大小上限。 | 
| timeout | 0 | 用戶端不會在特定閒置時間強制中斷連線，但可能會為了進行負載平衡，在穩定狀態期間中斷連線。 | 

此外也設有下列限制：


****  

|  Name  |  詳細資訊  |  Description  | 
| --- | --- | --- | 
| 每個快取的大小 | 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 ECPU/秒或 90K ECPUs/秒。 ECPUs | 
| 每個請求的引數數數 | 3，999 | 每個請求的引數數目上限。每個請求傳送更多引數的用戶端將收到錯誤。 | 
| 金鑰名稱長度 | 4 KiB | 單一 Valkey 或 Redis OSS 金鑰或頻道名稱的大小上限。若用戶端參考的金鑰大於此值，則會收到錯誤。 | 
| Lua 指令碼大小 | 4 MiB | 單一 Valkey 或 Redis OSS Lua 指令碼的大小上限。若嘗試載入的 Lua 指令碼大於此值，則會收到錯誤。 | 

## 節點型叢集
<a name="RedisConfiguration.SelfDesigned"></a>

對於節點型叢集，請參閱 [Valkey 和 Redis OSS 參數](ParameterGroups.Engine.md#ParameterGroups.Redis) 以取得組態參數的預設值，以及可設定的預設值。預設值為一般建議，除非您的使用案例較為特殊，需要覆寫這些值。