引擎特定參數 - Amazon ElastiCache

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

引擎特定參數

Valkey 和 Redis OSS

Valkey 7.2 參數與 Redis OSS 7 參數相同。

如果您未指定 Valkey 或 Redis OSS叢集的參數群組,則會使用適合您引擎版本的預設參數群組。您無法變更預設參數群組中任何參數的值。但是,只要可條件式修改參數的值在兩個參數群組中都是相同的,您便可以建立自訂參數群組並隨時將其指派給您的叢集。如需詳細資訊,請參閱建立 ElastiCache 參數群組

Valkey 和 Redis OSS 參數

Valkey 7.2 和 Redis OSS 7 參數變更

參數群組系列:redis7

Redis OSS 7 預設參數群組如下所示:

  • default.redis7 – 針對 Valkey 或 Redis OSS(停用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

  • default.redis7.cluster.on – 針對 Valkey 或 Redis OSS(啟用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

在 Redis 7 OSS 中新增的參數如下所示。

名稱 詳細資訊 描述
cluster-allow-pubsubshard-when-down

允許的值:yesno

預設:yes

類型:字串

可修改:是

變更生效:直接套用至叢集中所有節點。

當預設值為 yes 時,只要叢集認定自身擁有槽,就會允許節點在叢集處於停用狀態時提供 pubsub 碎片流量。

cluster-preferred-endpoint-type

允許的值:iptls-dynamic

預設:tls-dynamic

類型:字串

可修改:是

變更生效:直接套用至叢集中所有節點。

此值控制針對 MOVED/ASKING 請求傳回的端點,以及針對 CLUSTER SLOTS和 的端點欄位CLUSTER SHARDS。當該值設定為 ip 時,節點會公告其 IP 地址。當值設定為 tls-dynamic 時,節點會在啟用時 encryption-in-transit公告主機名稱,否則會公告 ip 地址。

latency-tracking

允許的值:yesno

預設:no

類型:字串

可修改:是

變更生效:直接套用至叢集中所有節點。

設定為 yes 時,會追蹤每個命令的延遲情況,並可透過 INFO 延遲統計資料命令匯出百分位數分佈,同時透過 LATENCY 命令匯出累積延遲分佈 (長條圖)。

hash-max-listpack-entries

允許的值:0+

預設:512

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

要壓縮資料集的雜湊項目數目上限。

hash-max-listpack-value

允許的值:0+

預設:64

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

最大雜湊項目的臨界值,以便壓縮資料集。

zset-max-listpack-entries

允許的值:0+

預設:128

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

要壓縮資料集的雜湊有序集項目數目上限。

zset-max-listpack-value

允許的值:0+

預設:64

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

要壓縮資料集的雜湊有序集項目數目上限。

Redis 7 OSS 中變更的參數如下所示。

名稱 詳細資訊 描述
activerehashing

可修改:no。在 Redis OSS 7 中,預設會隱藏並啟用此參數。為了將其停用,您需要建立一個支援案例

「可修改」先前為「是」。

在 Redis 7 OSS 中移除的參數如下所示。

名稱 詳細資訊 描述
hash-max-ziplist-entries

允許的值:0+

預設:512

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

使用 listpack 而非 ziplist 來表示小雜湊編碼

hash-max-ziplist-value

允許的值:0+

預設:64

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

使用 listpack 而非 ziplist 來表示小雜湊編碼

zset-max-ziplist-entries

允許的值:0+

預設:128

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

使用 listpack 而非 ziplist 來表示小雜湊編碼。

zset-max-ziplist-value

允許的值:0+

預設:64

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

使用 listpack 而非 ziplist 來表示小雜湊編碼。

list-max-ziplist-size

允許的值:

預設:-2

類型:整數

可修改:是

變更生效:直接套用至叢集中所有節點。

每個內部清單節點允許的項目數量。

Redis OSS 6.x 參數變更

參數群組系列:redis6.x

Redis OSS 6.x 預設參數群組如下所示:

  • default.redis6.x – 針對 Valkey 或 Redis OSS(停用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

  • default.redis6.x.cluster.on – 針對 Valkey 或 Redis OSS(啟用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

注意

在 Redis OSS引擎 6.2 版中,當 r6gd 節點系列引入與 搭配使用時中的資料分層 ElastiCache,r6gd 節點類型僅支援新版本 volatile-lruallkeys-lru max-memory 政策。

如需詳細資訊,請參閱 ElastiCache (Redis OSS) 6.2 版 (增強版)ElastiCache (Redis OSS) 6.0 版 (增強版)

在 Redis 6.x OSS 中新增的參數如下所示。

詳細資訊 描述
acl-pubsub-default (added in 6.2)

允許的值:resetchannelsallchannels

預設:allchannels

類型:字串

可修改:是

變更生效:與叢集相關聯的現有 Redis OSS使用者將繼續擁有現有的許可。更新使用者或重新啟動叢集以更新現有的 Redis OSS使用者。

部署到此叢集ACL之使用者的預設 pubsub 頻道許可。

cluster-allow-reads-when-down (added in 6.0)

預設:否

類型:字串

可修改:是

變更生效:直接套用至叢集中所有節點。

設定為是時,即使節點無法達到主要數量,Redis OSS(啟用叢集模式) 複寫群組仍會繼續處理讀取命令。

當設定為預設值 no 時,複寫群組會拒絕所有命令。如果您使用的叢集少於三個節點群組,或者您的應用程式可以安全處理過時的讀取作業,建議您將此值設定為 yes。

tracking-table-max-keys (added in 6.0)

預設值:1,000,000

類型:數字

可修改:是

變更生效:直接套用至叢集中所有節點。

為了協助用戶端快取,Redis OSS支援追蹤哪些用戶端已存取哪些金鑰。

追蹤的索引鍵有所修改時,會傳送失效訊息給所有用戶端,通知他們快取的值不再有效。此值可讓您指定此資料表的上限。超過此參數值之後,會隨機傳送失效訊息給用戶端。系統應調校此值以限制記憶體使用量,同時仍會追蹤足夠的索引鍵。索引鍵也會在記憶體不足的情況下失效。

acllog-max-len (added in 6.0)

預設:128

類型:數字

可修改:是

變更生效:直接套用至叢集中所有節點。

此值對應至ACL日誌中的項目數量上限。

active-expire-effort (added in 6.0)

預設:1

類型:數字

可修改:是

變更生效:直接套用至叢集中所有節點。

Redis OSS會刪除超過兩個機制存活時間的金鑰。一種機制是系統會存取一個索引鍵,並發現其過期。另一種機制則是定期任務對索引鍵進行取樣,而導致超過存留時間的索引鍵過期。此參數會定義 Redis OSS 用來使定期任務中的項目過期的努力量。

預設值 1 會嘗試避免有超過 10% 的過期索引鍵仍存在於記憶體中。也會嘗試避免佔用總記憶體的 25% 以上以及為系統增加延遲。您最多可以將此值增加 10,以增加使索引鍵過期花費的工作量。權衡更高CPU,也可能更高延遲。除非您看到高記憶體用量,並且可以容忍CPU使用率增加,否則建議值為 1。

lazyfree-lazy-user-del (added in 6.0)

預設:否

類型:字串

可修改:是

變更生效:直接套用至叢集中所有節點。

將值設定為 yes 時,DEL 命令的作用與 UNLINK 相同。

在 Redis OSS 6.x 中移除的參數如下所示。

名稱 詳細資訊 描述
lua-replicate-commands

允許值:是/否

預設:是

類型:布林值

可修改:是

變更生效:立即生效

是否一律在 Lua 指令碼中啟用 Lua 效果複寫

Redis OSS 5.0.3 參數變更

參數群組系列:redis5.0

Redis OSS 5.0 預設參數群組

  • default.redis5.0 – 針對 Valkey 或 Redis OSS(停用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

  • default.redis5.0.cluster.on – 將此參數群組或衍生的參數群組用於 Valkey 或 Redis OSS(啟用叢集模式) 叢集和複寫群組。

在 Redis 5.0.3 OSS 中新增的參數
名稱 詳細資訊 描述
rename-commands

預設:none

類型:字串

可修改:是

變更生效:直接套用至叢集中所有節點。

重新命名 Redis OSS命令的空間分隔清單。下列限制命令清單可供重新命名使用:

APPEND AUTH BITCOUNT BITFIELD BITOP BITPOS BLPOP BRPOP BRPOPLPUSH BZPOPMIN BZPOPMAX CLIENT CLUSTER COMMAND DBSIZE DECR DECRBY DEL DISCARD DUMP ECHO EVAL EVALSHA EXEC EXISTS EXPIRE EXPIREAT FLUSHALL FLUSHDB GEOADD GEOHASH GEOPOS GEODIST GEORADIUS GEORADIUSBYMEMBER GET GETBIT GETRANGE GETSET HDEL HEXISTS HGET HGETALL HINCRBY HINCRBYFLOAT HKEYS HLEN HMGET HMSET HSET HSETNX HSTRLEN HVALS INCR INCRBY INCRBYFLOAT INFO KEYS LASTSAVE LINDEX LINSERT LLEN LPOP LPUSH LPUSHX LRANGE LREM LSET LTRIM MEMORY MGET MONITOR MOVE MSET MSETNX MULTI OBJECT PERSIST PEXPIRE PEXPIREAT PFADD PFCOUNT PFMERGE PING PSETEX PSUBSCRIBE PUBSUB PTTL PUBLISH PUNSUBSCRIBE RANDOMKEY READONLY READWRITE RENAME RENAMENX RESTORE ROLE RPOP RPOPLPUSH RPUSH RPUSHX SADD SCARD SCRIPT SDIFF SDIFFSTORE SELECT SET SETBIT SETEX SETNX SETRANGE SINTER SINTERSTORE SISMEMBER SLOWLOG SMEMBERS SMOVE SORT SPOP SRANDMEMBER SREM STRLEN SUBSCRIBE SUNION SUNIONSTORE SWAPDB TIME TOUCH TTL TYPE UNSUBSCRIBE UNLINK UNWATCH WAIT WATCH ZADD ZCARD ZCOUNT ZINCRBY ZINTERSTORE ZLEXCOUNT ZPOPMAX ZPOPMIN ZRANGE ZRANGEBYLEX ZREVRANGEBYLEX ZRANGEBYSCORE ZRANK ZREM ZREMRANGEBYLEX ZREMRANGEBYRANK ZREMRANGEBYSCORE ZREVRANGE ZREVRANGEBYSCORE ZREVRANK ZSCORE ZUNIONSTORE SCAN SSCAN HSCAN ZSCAN XINFO XADD XTRIM XDEL XRANGE XREVRANGE XLEN XREAD XGROUP XREADGROUP XACK XCLAIM XPENDING GEORADIUS_RO GEORADIUSBYMEMBER_RO LOLWUT XSETID SUBSTR

如需詳細資訊,請參閱ElastiCache (Redis OSS) 5.0.6 版 (增強版)

Redis OSS 5.0.0 參數變更

參數群組系列:redis5.0

Redis OSS 5.0 預設參數群組

  • default.redis5.0 – 針對 Valkey 或 Redis OSS(停用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

  • default.redis5.0.cluster.on – 將此參數群組或衍生的參數群組用於 Valkey 或 Redis OSS(啟用叢集模式) 叢集和複寫群組。

在 Redis 5.0 OSS 中新增的參數
名稱 詳細資訊 描述
stream-node-max-bytes

允許的值:0+

預設:4096

類型:整數

可修改:是

變更生效:立即生效

串流資料結構是節點基數樹狀結構,它會在內部編碼多個項目。使用這個組態可指定基數樹狀結構中單一節點的最大大小 (以位元組為單位)。如果設為 0,則節點的大小沒有限制。
stream-node-max-entries

允許的值:0+

預設:100

類型:整數

可修改:是

變更生效:立即生效

串流資料結構是節點基數樹狀結構,它會在內部編碼多個項目。使用此組態來指定在附加新串流項目時,切換至新節點之前,單一節點可包含的最大項目數。如果設為 0,則樹狀結構節點中的項目數沒有限制
active-defrag-max-scan-fields

允許值:1 到 1000000

預設:1000

類型:整數

可修改:是

變更生效:立即生效

將從主字典掃描處理的 set/hash/zset/list 欄位的最大數量
lua-replicate-commands

允許值:是/否

預設:是

類型:布林值

可修改:是

變更生效:立即生效

是否一律在 Lua 指令碼中啟用 Lua 效果複寫
replica-ignore-maxmemory

預設:是

類型:布林值

可修改:否

不從主要複本獨立移出項目,決定複本是否要忽略 maxmemory 設定

Redis OSS已重新命名引擎 5.0 版中的多個參數,以回應社群意見回饋。如需詳細資訊,請參閱 Redis 5 OSS 中的新功能?。下表列出新名稱以及它們與舊版的對應方式。

在 Redis 5.0 OSS 中重新命名的參數
名稱 詳細資訊 描述
replica-lazy-flush

預設:是

類型:布林值

可修改:否

舊名稱: slave-lazy-flush

在複本同步期間執行非同步 flushDB。
client-output-buffer-limit-replica-hard-limit

預設:如需數值,請參閱 Redis OSS節點類型特定參數

類型:整數

可修改:否

舊名稱:client-output-buffer-limit-slave-hard-limit

對於 Redis OSS僅供讀取複本:如果用戶端的輸出緩衝區達到指定的位元組數,用戶端將會中斷連線。
client-output-buffer-limit-replica-soft-limit

預設:如需數值,請參閱 Redis OSS節點類型特定參數

類型:整數

可修改:否

舊名稱:client-output-buffer-limit-slave-soft-limit

對於 Redis 僅供OSS讀取複本:如果用戶端的輸出緩衝區達到指定的位元組數,用戶端將會中斷連線,但只有在 仍存在此情況時,才會中斷連線client-output-buffer-limit-replica-soft-seconds
client-output-buffer-limit-replica-soft-seconds

預設:60

類型:整數

可修改:否

舊名稱:client-output-buffer-limit-slave-soft-seconds

對於 Redis OSS僅供讀取複本:如果用戶端的輸出緩衝區保留在client-output-buffer-limit-replica-soft-limit位元組超過此秒數,則會中斷用戶端的連線。
replica-allow-chaining

預設:否

類型:字串

可修改:否

舊名稱: slave-allow-chaining

決定 Redis 中的僅供讀取複本是否可以OSS擁有自己的僅供讀取複本。
min-replicas-to-write

預設:0

類型:整數

可修改:是

舊名稱: min-slaves-to-write

變更生效:立即

為了讓主要節點接受來自用戶端的寫入,所需要的最低可用僅供讀取複本數量。若可用複本數低於此數字,屆時主要節點便會不再接受寫入請求。

如果此參數或 min-replicas-max-lag 為 0,則即使沒有可用的複本,主要節點仍會接受寫入請求。

min-replicas-max-lag

預設:10

類型:整數

可修改:是

舊名稱: min-slaves-max-lag

變更生效:立即

秒數,在此期間主要節點必須從僅供讀取複本接收 ping 請求。若經過此秒數而主要節點仍未接收到 ping,便會將複本視為無法使用。如果可用複本的數量低於 min-replicas-to-write,則主要複本會在該時間點停止接受寫入。

如果此參數或 min-replicas-to-write 為 0,則即使沒有可用的複本,主要節點仍會接受寫入請求。

close-on-replica-write

預設:是

類型:布林值

可修改:是

舊名稱: close-on-slave-write

變更生效:立即

若啟用,則會中斷嘗試寫入僅供讀取複本的用戶端連線。

在 Redis OSS 5.0 中移除參數
名稱 詳細資訊 描述
repl-timeout

預設:60

可修改:否

此參數在此版本中無法使用。

Redis OSS 4.0.10 參數變更

參數群組系列:redis4.0

Redis OSS 4.0.x 預設參數群組

  • default.redis4.0 – 針對 Valkey 或 Redis OSS(停用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

  • default.redis4.0.cluster.on – 針對 Valkey 或 Redis OSS(啟用叢集模式) 叢集和複寫群組,使用此參數群組,或從中衍生的參數群組。

在 Redis OSS 4.0.10 中變更的參數
名稱 詳細資訊 描述
maxmemory-policy

允許值:allkeys-lruvolatile-lruallkeys-lfuvolatile-lfuallkeys-randomvolatile-randomvolatile-ttlnoeviction

預設:volatile-lru

類型:字串

可修改:是

變更生效:立即生效

2.6.13 版中新增了 maxmemory-policy。在 4.0.10 版中,新增了兩個新的許可值: allkeys-lfu,它將使用近似值 LFU、 和 來清除任何金鑰volatile-lfu,並在具有過期集的金鑰LFU之間使用近似值來規避。在 6.2 版本中,當導入 r6gd 節點系列以與資料分層搭配使用時,r6gd 節點類型僅支援 noevictionvolatile-lruallkeys-lru 最大記憶體政策。
在 Redis OSS 4.0.10 中新增的參數
名稱 詳細資訊 描述
非同步刪除參數
lazyfree-lazy-eviction

允許值:是/否

預設:否

類型:布林值

可修改:是

變更生效:立即生效

在移出時執行非同步刪除。
lazyfree-lazy-expire

允許值:是/否

預設:否

類型:布林值

可修改:是

變更生效:立即生效

在過期鍵上執行非同步刪除。
lazyfree-lazy-server-del

允許值:是/否

預設:否

類型:布林值

可修改:是

變更生效:立即生效

針對更新數值的命令執行非同步刪除。
slave-lazy-flush

允許值:N/A

預設:否

類型:布林值

可修改:否

變更生效:不適用
在從屬同步 (slave sync) 期間執行非同步 flushDB。
LFU 參數
lfu-log-factor

允許值:任何 > 0 的整數

預設:10

類型:整數

可修改:是

變更生效:立即生效

設定日誌因數,決定使鍵計數器飽和的鍵命中次數。
lfu-decay-time

允許值:任何整數

預設:1

類型:整數

可修改:是

變更生效:立即生效

用來遞減鍵計數器的時間 (以分鐘計)。
作用中磁碟重組參數
activedefrag

允許值:是/否

預設:否

類型:布林值

可修改:是

變更生效:立即生效

啟用的主動磁碟重組。
active-defrag-ignore-bytes

允許值:10485760-104857600

預設:104857600

類型:整數

可修改:是

變更生效:立即生效

啟動主動磁碟重組所需要的最低分散廢棄物數量。
active-defrag-threshold-lower

允許值:1 到 100

預設:10

類型:整數

可修改:是

變更生效:立即生效

啟動主動磁碟重組所需要的最低分散百分比。
active-defrag-threshold-upper

允許值:1 到 100

預設:100

類型:整數

可修改:是

變更生效:立即生效

進行最大程度投入量所需要的最高分散百分比。
active-defrag-cycle-min

允許值:1 到 75

預設:25

類型:整數

可修改:是

變更生效:立即生效

以CPU百分比為單位進行重組的最小努力。
active-defrag-cycle-max

允許值:1 到 75

預設:75

類型:整數

可修改:是

變更生效:立即生效

以CPU百分比為單位進行重組的最大努力。
用戶端輸出緩衝區參數
client-query-buffer-limit

允許值:1048576-1073741824

預設:1073741824

類型:整數

可修改:是

變更生效:立即生效

單一用戶端查詢緩衝區的大小上限。
proto-max-bulk-len

允許值:1048576-536870912

預設:536870912

類型:整數

可修改:是

變更生效:立即生效

單一元素請求的大小上限。

Redis OSS 3.2.10 參數變更

參數群組系列:redis3.2

ElastiCache (Redis OSS) 3.2.10 不支援其他參數。

Redis OSS 3.2.6 參數變更

參數群組系列:redis3.2

對於 Redis OSS 3.2.6,不支援其他參數。

Redis OSS 3.2.4 參數變更

參數群組系列:redis3.2

從 Redis OSS 3.2.4 開始,有兩個預設參數群組。

  • default.redis3.2 – 執行 Redis OSS 3.2.4 時,如果您想要建立 Valkey 或 Redis OSS(停用叢集模式) 複寫群組,但仍使用 Redis 3.2.4 OSS 的其他功能,請指定此參數群組或從中衍生的參數群組。

  • default.redis3.2.cluster.on – 當您想要建立 Valkey 或 Redis OSS(啟用叢集模式) 複寫群組時,請指定此參數群組或從中衍生的參數群組。

Redis OSS 3.2.4 的新參數

參數群組系列:redis3.2

對於 Redis OSS 3.2.4,支援下列其他參數。

名稱 詳細資訊 描述
list-max-ziplist-size

預設值:-2

類型:整數

可修改:否

清單會以特別的方式進行編碼以節省空間。每個內部清單節點允許的項目數量可透過固定的大小上限或元素數量上限來指定。針對固定的大小上限,請使用 -5 到 -1,表示:
  • -5:大小上限:64 Kb - 不建議用於一般工作負載

  • -4:大小上限:32 Kb - 不建議

  • -3:大小上限:16 Kb - 不建議

  • -2:大小上限:8 Kb - 建議

  • -1:大小上限:4 Kb - 建議

  • 正值表示在每個清單節點中存放最多該數量的元素。

list-compress-depth

預設:0

類型:整數

可修改:是

變更生效:立即

清單也可以進行壓縮。壓縮深度是來自清單每一端的快速清單 (quicklist) 壓縮清單 (ziplist) 節點數量,這些節點會從壓縮中排除。清單的前端和尾端一律不會進行壓縮,以進行快速的推送及彈出操作。設定如下:
  • 0:停用所有壓縮。

  • 1:啟動壓縮,從第一個節點進入前端和尾端。

    [head]->node->node->...->node->[tail]

    除了 [head] 和 [tail] 之外的所有節點都會進行壓縮。

  • 2:啟動壓縮,從第二個節點進入前端和尾端。

    [head]->[next]->node->node->...->node->[prev]->[tail]

    [head]、[next]、[prev] 和 [tail] 不會進行壓縮。其他所有節點都會壓縮。

  • 其他等服務...

cluster-enabled

預設:否/是 *

類型:字串

可修改:否

指出這是叢集模式 OSS(是) 中的 Valkey 或 Redis (啟用叢集模式) 複寫群組,還是非叢集模式 OSS(否) 中的 Valkey 或 Redis (啟用叢集模式) 複寫群組。叢集模式中的 Valkey 或 Redis OSS(啟用叢集模式) 複寫群組可以將資料分割至最多 500 個節點群組。

* Redis OSS 3.2.x 有兩個預設參數群組。

  • default.redis3.2 – 預設值 no

  • default.redis3.2.cluster.on – 預設值 yes

.

cluster-require-full-coverage

預設:否

類型:布林值

可修改:是

變更生效:立即

將 設定為 時yes,如果叢集模式中的 Valkey 或 Redis OSS(啟用叢集模式) 節點偵測到至少有一個未覆蓋的雜湊插槽 (沒有可用的節點正在服務它),則會停止接受查詢。這會在叢集部分關閉時導致叢集無法使用。它會在所有位置再次受到涵蓋時重新恢復可用狀態。

但是,有時候您可能會希望一部分正常運作的叢集針對仍然涵蓋的 keyspace 部分繼續接受查詢。若要這麼做,只需將 cluster-require-full-coverage 選項設為 no 即可。

hll-sparse-max-bytes

預設:3000

類型:整數

可修改:是

變更生效:立即

HyperLogLog 稀疏表示位元組限制。限制包含 16 位元組的標頭。當 HyperLogLog 使用稀疏表示法的 超過此限制時,它會轉換為密集表示法。

不建議使用大於 16000 的值,因為屆時密集表示可以更有效率的使用記憶體。

我們建議值約為 3000,以享有節省空間編碼的好處,而不會太慢PFADD,也就是 O(N) 搭配稀疏編碼。當 CPU不是問題時,該值可以提高到 ~10000,但空間是,而且資料集由許多 HyperLogLogs 組成,其基數介於 0 - 15000 範圍內。

reserved-memory-percent

預設:25

類型:整數

可修改:是

變更生效:立即

為非資料用途預留的節點記憶體百分比。依預設,Redis OSS資料佔用空間會成長,直到消耗節點的所有記憶體為止。若發生此情況,則節點效能很可能會因過度進行記憶體分頁而降低。透過保留記憶體,您可以將一些可用的記憶體留給非 Redis OSS用途,以協助減少分頁數量。

此參數是 特有的 ElastiCache,不屬於標準 Redis OSS分佈。

如需詳細資訊,請參閱 reserved-memory管理 Valkey 和 Redis 的預留記憶體 OSS

Redis OSS 3.2.4 中變更的參數 (增強版)

參數群組系列:redis3.2

對於 Redis OSS 3.2.4,下列參數已變更。

名稱 詳細資訊 變更
activerehashing

可修改:如果參數群組未與任何快取叢集相關聯,則為「是」。否則為否。

「可修改」先前為「否」。

databases

可修改:如果參數群組未與任何快取叢集相關聯,則為「是」。否則為否。

「可修改」先前為「否」。

appendonly

預設:關閉

可修改:否

如果您想要從較早的 Redis OSS版本升級,您必須先appendonly關閉。

appendfsync

預設:關閉

可修改:否

如果您想要從較早的 Redis OSS版本升級,您必須先appendfsync關閉。

repl-timeout

預設:60

可修改:否

現已變更為無法修改,且其預設為 60。
tcp-keepalive

預設:300

先前預設為 0。

list-max-ziplist-entries

參數已無法使用。

list-max-ziplist-value

參數已無法使用。

Redis OSS 2.8.24 (增強) 新增參數

參數群組系列:redis2.8

對於 Redis OSS 2.8.24,不支援其他參數。

Redis OSS 2.8.23 (增強) 新增的參數

參數群組系列:redis2.8

對於 Redis OSS 2.8.23,支援下列其他參數。

名稱 詳細資訊 描述
close-on-slave-write

預設:是

類型:字串 (是/否)

可修改:是

變更生效:立即

若啟用,則會中斷嘗試寫入僅供讀取複本的用戶端連線。

運作方式 close-on-slave-write

Amazon 會引入 close-on-slave-write 參數 ElastiCache ,讓您更能控制叢集在主要節點和僅供讀取複本節點交換角色將僅供讀取複本提升為主要節點時如何回應。

影像: close-on-replica-write一切正常運作

若僅供讀取複本叢集因啟用異地同步備份的複寫群組容錯移轉之外的任何原因提升為主要節點,則用戶端會繼續嘗試寫入端點 A。因為端點 A 已成為僅供讀取複本的端點,因此寫入會失敗。這是ElastiCache 引進OSS之前 Redis 的行為,close-on-replica-write以及停用 時的行為close-on-replica-write

映像: close-on-slave-write,寫入失敗

啟用 close-on-replica-write 時,每一次當用戶端嘗試寫入僅供讀取複本時,便會關閉用戶端對叢集的連線。您的應用程式邏輯應該會偵測中斷連線、檢查DNS資料表,然後重新連線至主要端點,現在將是端點 B。

影像: close-on-slave-write寫入新的主要叢集

何時可以停用 close-on-replica-write

若停用 close-on-replica-write 對導致寫入失敗的叢集,為什麼還要停用 close-on-replica-write

如先前所提及,啟用 close-on-replica-write 時,每一次當用戶端嘗試寫入僅供讀取複本時,便會關閉用戶端對叢集的連線。建立與節點的新連線需要時間。因此,寫入複本請求所導致的中斷連線及重新連線也會影響透過相同連線處理的讀取請求延遲。此效果會持續存在,直到建立新連線為止。若您的應用程式特別需要進行大量讀取或是對延遲非常敏感,您可能會偏好將用戶端保持連線,以避免降低讀取效能。

Redis OSS 2.8.22 (增強) 新增的參數

參數群組系列:redis2.8

對於 Redis OSS 2.8.22,不支援其他參數。

重要
  • 從 Redis 2.8.22 OSS版開始, repl-backlog-size會套用至主要叢集以及複本叢集。

  • 從 Redis 2.8.22 OSS版開始,不支援 repl-timeout 參數。如果變更, ElastiCache 會以預設 (60 秒) 覆寫,就像使用 一樣appendonly

以下參數已不再受到支援。

  • appendonly

  • appendfsync

  • repl-timeout

Redis OSS 2.8.21 新增參數

參數群組系列:redis2.8

對於 Redis OSS 2.8.21,不支援其他參數。

Redis OSS 2.8.19 新增參數

參數群組系列:redis2.8

對於 Redis OSS 2.8.19,不支援其他參數。

Redis OSS 2.8.6 新增參數

參數群組系列:redis2.8

對於 Redis OSS 2.8.6,支援下列其他參數。

名稱 詳細資訊 描述
min-slaves-max-lag

預設:10

類型:整數

可修改:是

變更生效:立即

秒數,在此期間主要節點必須從僅供讀取複本接收 ping 請求。若經過此秒數而主要節點仍未接收到 ping,便會將複本視為無法使用。如果可用複本的數量低於 min-slaves-to-write,則主要複本會在該時間點停止接受寫入。

如果此參數或 min-slaves-to-write 為 0,則即使沒有可用的複本,主要節點仍會接受寫入請求。

min-slaves-to-write

預設:0

類型:整數

可修改:是

變更生效:立即

為了讓主要節點接受來自用戶端的寫入,所需要的最低可用僅供讀取複本數量。若可用複本數低於此數字,屆時主要節點便會不再接受寫入請求。

如果此參數或 min-slaves-max-lag 為 0,則即使沒有可用的複本,主要節點仍會接受寫入請求。

notify-keyspace-events

預設:(空字串)

類型:字串

可修改:是

變更生效:立即

Redis OSS可以通知用戶端的鍵空間事件類型。每個事件類型都是以單一字母表示:

  • K - Keyspace 事件,以 __keyspace@<db>__ 字首發佈

  • E - 索引鍵事件,以 __keyevent@<db>__ 字首發佈

  • g — 一般、非特定命令,例如 DELEXPIRERENAME等。

  • $ - 字串命令

  • l - 列出命令

  • s - 設定命令

  • h - 雜湊命令

  • z - 排序集命令

  • x - 過期事件 (每次索引鍵過期時產生的事件)

  • e - 移出事件 (為 maxmemory 移出索引鍵時產生的事件)

  • A - g$lshzxe 的別名

您可以任意組合這些事件類型。例如, AKE 表示 Redis OSS可以發佈所有事件類型的通知。

請不要使用任何以上列出字元以外的字元。嘗試執行此作業會導致錯誤訊息。

根據預設,此參數會設為空字串,表示停用 keyspace 事件通知。

repl-backlog-size

預設:1048576

類型:整數

可修改:是

變更生效:立即

主要節點待處理項目緩衝區的大小 (位元組)。待處理項目會用於記錄主要節點資料的更新。當僅供讀取複本連線到主要節點時,它會嘗試執行部分同步 (psync),套用來自待處理項目的資料來更新至主要節點目前的情況。若 psync 失敗,便需要完整同步。

此參數的最小值為 16384。

注意

從 Redis OSS 2.8.22 開始,此參數適用於主要叢集和僅供讀取複本。

repl-backlog-ttl

預設:3600

類型:整數

可修改:是

變更生效:立即

主要節點保留待處理項目緩衝區的秒數。從最後一次複本節點中斷連線的時間開始,待處理項目中的資料會保持不變,直到 repl-backlog-ttl 過期。若複本在此期間內並未連線到主要節點,主要節點便會釋放待處理項目緩衝區。當複本最後重新連線時,便需要與主要節點執行完整同步。

若將此參數設為 0,便永遠不會釋放待處理項目緩衝區。

repl-timeout

預設:60

類型:整數

可修改:是

變更生效:立即

表示以下項目的逾時期間 (秒數):
  • 從僅供讀取複本視角,於同步期間的大量資料傳輸

  • 從複本視角的主要節點逾時

  • 從主要節點視角的複本逾時

Redis OSS 2.6.13 參數

參數群組系列:redis2.6

Redis OSS 2.6.13 是 OSS支援的第一個 Redis 版本 ElastiCache。下表顯示 ElastiCache 支援的 Redis OSS 2.6.13 參數。

名稱 詳細資訊 描述
activerehashing

預設:是

類型:字串 (是/否)

可修改:是

變更生效:建立時

判斷是否啟用 Redis 的主動重新雜湊功能。主要雜湊資料表每秒修復十次;每個堆疊操作耗用 1 毫秒CPU的時間。

您可以在建立參數群組時設定此值。將新的參數群組指派給叢集時,此值在舊的及新的參數群組中都必須相同。

appendonly

預設:否

類型:字串

可修改:是

變更生效:立即

啟用或停用 Redis 的僅附加檔案功能 (AOF)。AOF 會擷取變更快取中資料的任何 Redis OSS命令,並用於從某些節點故障中復原。

預設值為 表示 AOF 已關閉。將此參數設定為以啟用 AOF。

如需詳細資訊,請參閱減少故障

注意

cache.t1.micro 和 cache.t2.* 節點不支援僅附加檔案 (AOF)。針對此類型的節點,appendonly 參數值會遭到忽略。

注意

對於多可用區域複寫群組, AOF 是不允許的。

appendfsync

預設:everysec

類型:字串

可修改:是

變更生效:立即

appendonly 設定為是時, 會控制AOF輸出緩衝區寫入磁碟的頻率:
  • no - 視需要將緩衝區排清至磁碟。

  • everysec - 每秒會排清一次緩衝區。此為預設值。

  • always - 每次修改叢集中的資料時都排清緩衝區。

  • 2.8.22 及更新版本不支援 appendfsync。

client-output-buffer-limit-normal-hard-limit

預設:0

類型:整數

可修改:是

變更生效:立即

若用戶端的輸出緩衝區達到指定的位元組數,便會中斷用戶端連線。預設為零 (無硬式限制)。

client-output-buffer-limit-normal-soft-limit

預設:0

類型:整數

可修改:是

變更生效:立即

若用戶端的輸出緩衝區達到指定的位元組數,便會中斷用戶端連線,但只有在此條件持續達 client-output-buffer-limit-normal-soft-seconds 時。預設為零 (無軟式限制)。
client-output-buffer-limit-normal-soft-seconds

預設:0

類型:整數

可修改:是

變更生效:立即

若用戶端的輸出緩衝區維持在 client-output-buffer-limit-normal-soft-limit 位元組超過此秒數,便會中斷用戶端連線。預設為零 (無時間限制)。
client-output-buffer-limit-pubsub-hard-limit

預設:33554432

類型:整數

可修改:是

變更生效:立即

對於 Redis OSS 發佈/訂閱用戶端:如果用戶端的輸出緩衝區達到指定的位元組數,用戶端將會中斷連線。

client-output-buffer-limit-pubsub-soft-limit

預設:8388608

類型:整數

可修改:是

變更生效:立即

對於 Redis OSS 發佈/訂閱用戶端:如果用戶端的輸出緩衝區達到指定的位元組數,用戶端將會中斷連線,但只有在 仍存在此情況時,才會中斷連線client-output-buffer-limit-pubsub-soft-seconds
client-output-buffer-limit-pubsub-soft-seconds

預設:60

類型:整數

可修改:是

變更生效:立即

對於 Redis OSS 發佈/訂閱用戶端:如果用戶端的輸出緩衝區保留在client-output-buffer-limit-pubsub-soft-limit位元組超過此秒數,用戶端將會中斷連線。
client-output-buffer-limit-slave-hard-limit

預設:如需數值,請參閱 Redis OSS節點類型特定參數

類型:整數

可修改:否

對於 Redis 僅供OSS讀取複本:如果用戶端的輸出緩衝區達到指定的位元組數,用戶端將會中斷連線。
client-output-buffer-limit-slave-soft-limit

預設:如需數值,請參閱 Redis OSS節點類型特定參數

類型:整數

可修改:否

對於 Redis 僅供OSS讀取複本:如果用戶端的輸出緩衝區達到指定的位元組數,用戶端將會中斷連線,但只有在 持續發生此情況時,才會中斷連線client-output-buffer-limit-slave-soft-seconds
client-output-buffer-limit-slave-soft-seconds

預設:60

類型:整數

可修改:否

對於 Redis OSS僅供讀取複本:如果用戶端的輸出緩衝區保留在client-output-buffer-limit-slave-soft-limit位元組超過此秒數,則會中斷用戶端的連線。
databases

預設:16

類型:整數

可修改:否

變更生效:建立時

資料庫分割成的邏輯分割區數量。我們建議將此值維持在較低程度。

您可以在建立參數群組時設定此值。將新的參數群組指派給叢集時,此值在舊的及新的參數群組中都必須相同。

hash-max-ziplist-entries

預設:512

類型:整數

可修改:是

變更生效:立即

決定用於雜湊的記憶體數量。少於指定項目數的雜湊會使用特別的編碼存放,以節省空間。
hash-max-ziplist-value

預設:64

類型:整數

可修改:是

變更生效:立即

決定用於雜湊的記憶體數量。項目小於指定位元組數的雜湊會使用特別的編碼存放,以節省空間。
list-max-ziplist-entries

預設:512

類型:整數

可修改:是

變更生效:立即

決定用於清單的記憶體數量。少於指定項目數的清單會使用特別的編碼存放,以節省空間。
list-max-ziplist-value

預設:64

類型:整數

可修改:是

變更生效:立即

決定用於清單的記憶體數量。項目小於指定位元組數的清單會使用特別的編碼存放,以節省空間。
lua-time-limit

預設:5000

類型:整數

可修改:否

Lua 指令碼在 ElastiCache 採取動作停止指令碼之前的最大執行時間,以毫秒為單位。

lua-time-limit 如果超過 ,所有 Redis OSS命令都會傳回格式 ____-BUSY 的錯誤。由於此狀態可能導致許多必要的 Redis OSS操作受到干擾, ElastiCache 會先發出 SCRIPT KILL 命令。如果失敗, ElastiCache 會強制重新啟動 Redis OSS。

maxclients 此值適用於所有執行個體類型,但明確指定的除外

預設:65000

類型:整數

可修改:否

一次可連線的用戶端數量上限。

t2.medium 預設:20000

類型:整數

可修改:否

t2.small 預設:20000

類型:整數

可修改:否

t2.micro 預設:20000

類型:整數

可修改:否

t4g.micro 預設:20000

類型:整數

可修改:否

t3.medium 預設:46000

類型:整數

可修改:否

t3.small 預設:46000

類型:整數

可修改:否

t3.micro 預設:20000

類型:整數

可修改:否

maxmemory-policy

預設:volatile-lru

類型:字串

可修改:是

變更生效:立即

到達記憶體用量上限時,針對鍵的移出政策。

有效值為:volatile-lru | allkeys-lru | volatile-random | allkeys-random | volatile-ttl | noeviction

如需詳細資訊,請參閱使用 Valkey 或 Redis OSS 作為LRU快取

maxmemory-samples

預設:3

類型:整數

可修改:是

變更生效:立即

對於 least-recently-used (LRU) 和 time-to-live (TTL) 計算,此參數代表要檢查的金鑰範例大小。依預設,Redis OSS會選擇 3 個金鑰,並使用至少最近使用過的金鑰。
reserved-memory

預設:0

類型:整數

可修改:是

變更生效:立即

為非資料用量預留的總記憶體 (位元組)。依預設,Redis OSS節點會成長,直到消耗節點的 maxmemory(請參閱 Redis OSS節點類型特定參數)。若發生此情況,則節點效能很可能會因過度進行記憶體分頁而降低。透過保留記憶體,您可以為非 Redis OSS目的預留一些可用的記憶體,以協助減少分頁數量。

此參數是 特有的 ElastiCache,不屬於標準 Redis OSS分佈。

如需詳細資訊,請參閱 reserved-memory-percent管理 Valkey 和 Redis 的預留記憶體 OSS

set-max-intset-entries

預設:512

類型:整數

可修改:是

變更生效:立即

決定要用於特定類型組 (基數為 10,介於 64 位元帶正負號整數範圍內整數的字串) 的記憶體數量。這類少於指定項目數的組會使用特別的編碼存放,以節省空間。
slave-allow-chaining

預設:否

類型:字串

可修改:否

決定 Redis 中的僅供讀取複本是否可以OSS擁有自己的僅供讀取複本。
slowlog-log-slower-than

預設:10000

類型:整數

可修改:是

變更生效:立即

Redis OSS Slow Log 功能記錄命令的最長執行時間,以微秒為單位。
slowlog-max-len

預設:128

類型:整數

可修改:是

變更生效:立即

Redis OSS Slow Log 的長度上限。
tcp-keepalive

預設:0

類型:整數

可修改:是

變更生效:立即

若將此設為非零值 (N),節點用戶端便會每 N 秒輪詢一次,確保仍然持續連線。使用預設設定的 0,便步會發生任何輪詢。
重要

此參數的某些方面在 Redis 3.2.4 OSS版中已變更。請參閱 Redis OSS 3.2.4 中變更的參數 (增強版)

timeout

預設:0

類型:整數

可修改:是

變更生效:立即

節點在逾時前等待的秒數。數值為:
  • 0 - 永不中斷閒置用戶端的連線。

  • 1-19 - 無效值。

  • >=20 - 節點在中斷與閒置用戶端連線前所等待的秒數。

zset-max-ziplist-entries

預設:128

類型:整數

可修改:是

變更生效:立即

決定用於排序組的記憶體數量。少於指定元素數的排序組會使用特別的編碼存放,以節省空間。
zset-max-ziplist-value

預設:64

類型:整數

可修改:是

變更生效:立即

決定用於排序組的記憶體數量。項目小於指定位元組數的排序組會使用特別的編碼存放,以節省空間。
注意

如果您未指定 Redis 2.6.13 OSS 叢集的參數群組,則會使用預設參數群組 (default.redis2.6)。您無法變更預設參數群組中任何參數的值。但是,您永遠可以建立自訂參數群組並隨時將其指派給您的叢集。

Redis OSS節點類型特定參數

雖然大多數的參數都只有單一值,有些參數則可能會根據所使用的節點類型而有不同的值。下表顯示每個節點類型 maxmemoryclient-output-buffer-limit-slave-hard-limitclient-output-buffer-limit-slave-soft-limit 參數的預設值。maxmemory 的值為您在節點上可以用於資料及其他用途的位元組上限。如需可用指標的詳細資訊,請參閱可用記憶體

注意

maxmemory 參數無法修改。

節點類型 Maxmemory C lient-output-buffer-limit-slave-hard-limit C lient-output-buffer-limit-slave-soft-limit
cache.t1.micro 142606336 14260633 14260633
cache.t2.micro 581959680 58195968 58195968
cache.t2.small 1665138688 166513868 166513868
cache.t2.medium 3461349376 346134937 346134937
cache.t3.micro 536870912 53687091 53687091
cache.t3.small 1471026299 147102629 147102629
cache.t3.medium 3317862236 331786223 331786223
cache.t4g.micro 536870912 53687091 53687091
cache.t4g.small 1471026299 147102629 147102629
cache.t4g.medium 3317862236 331786223 331786223
cache.m1.small 943718400 94371840 94371840
cache.m1.medium 3093299200 309329920 309329920
cache.m1.large 7025459200 702545920 702545920
cache.m1.xlarge 14889779200 1488977920 1488977920
cache.m2.xlarge 17091788800 1709178880 1709178880
cache.m2.2xlarge 35022438400 3502243840 3502243840
cache.m2.4xlarge 70883737600 7088373760 7088373760
cache.m3.medium 2988441600 309329920 309329920
cache.m3.large 6501171200 650117120 650117120
cache.m3.xlarge 14260633600 1426063360 1426063360
cache.m3.2xlarge 29989273600 2998927360 2998927360
cache.m4.large 6892593152 689259315 689259315
cache.m4.xlarge 15328501760 1532850176 1532850176
cache.m4.2xlarge 31889126359 3188912636 3188912636
cache.m4.4xlarge 65257290629 6525729063 6525729063
cache.m4.10xlarge 166047614239 16604761424 16604761424
cache.m5.large 6854542746 685454275 685454275
cache.m5.xlarge 13891921715 1389192172 1389192172
cache.m5.2xlarge 27966669210 2796666921 2796666921
cache.m5.4xlarge 56116178125 5611617812 5611617812
cache.m5.12xlarge 168715971994 16871597199 16871597199
cache.m5.24xlarge 337500562842 33750056284 33750056284
cache.m6g.large 6854542746 685454275 685454275
cache.m6g.xlarge 13891921715 1389192172 1389192172
cache.m6g.2xlarge 27966669210 2796666921 2796666921
cache.m6g.4xlarge 56116178125 5611617812 5611617812
cache.m6g.8xlarge 111325552312 11132555231 11132555231
cache.m6g.12xlarge 168715971994 16871597199 16871597199
cache.m6g.16xlarge 225000375228 22500037523 22500037523
cache.c1.xlarge 6501171200 650117120 650117120
cache.r3.large 14470348800 1468006400 1468006400
cache.r3.xlarge 30513561600 3040870400 3040870400
cache.r3.2xlarge 62495129600 6081740800 6081740800
cache.r3.4xlarge 126458265600 12268339200 12268339200
cache.r3.8xlarge 254384537600 24536678400 24536678400
cache.r4.large 13201781556 1320178155 1320178155
cache.r4.xlarge 26898228839 2689822883 2689822883
cache.r4.2xlarge 54197537997 5419753799 5419753799
cache.r4.4xlarge 108858546586 10885854658 10885854658
cache.r4.8xlarge 218255432090 21825543209 21825543209
cache.r4.16xlarge 437021573120 43702157312 43702157312
cache.r5.large 14037181030 1403718103 1403718103
cache.r5.xlarge 28261849702 2826184970 2826184970
cache.r5.2xlarge 56711183565 5671118356 5671118356
cache.r5.4xlarge 113609865216 11360986522 11360986522
cache.r5.12xlarge 341206346547 34120634655 34120634655
cache.r5.24xlarge 682485973811 68248597381 68248597381
cache.r6g.large 14037181030 1403718103 1403718103
cache.r6g.xlarge 28261849702 2826184970 2826184970
cache.r6g.2xlarge 56711183565 5671118356 5671118356
cache.r6g.4xlarge 113609865216 11360986522 11360986522
cache.r6g.8xlarge 225000375228 22500037523 22500037523
cache.r6g.12xlarge 341206346547 34120634655 34120634655
cache.r6g.16xlarge 450000750456 45000075046 45000075046
cache.r6gd.xlarge 28261849702 2826184970 2826184970
cache.r6gd.2xlarge 56711183565 5671118356 5671118356
cache.r6g.4xlarge 113609865216 11360986522 11360986522
cache.r6g.8xlarge 225000375228 22500037523 22500037523
cache.r6gd.12xlarge 341206346547 34120634655 34120634655
cache.r6gd.16xlarge 450000750456 45000075046 45000075046
cache.r7g.large 14037181030 1403718103 1403718103
cache.r7g.xlarge 28261849702 2826184970 2826184970
cache.r7g.2xlarge 56711183565 5671118356 5671118356
cache.r7g.4xlarge 113609865216 11360986522 11360986522
cache.r7g.8xlarge 225000375228 22500037523 22500037523
cache.r7g.12xlarge 341206346547 34120634655 34120634655
cache.r7g.16xlarge 450000750456 45000075046 45000075046
cache.m7g.large 6854542746 685454275 685454275
cache.m7g.xlarge 13891921715 1389192172 1389192172
cache.m7g.2xlarge 27966669210 2796666921 2796666921
cache.m7g.4xlarge 56116178125 5611617812 5611617812
cache.m7g.8xlarge 111325552312 11132555231 11132555231
cache.m7g.12xlarge 168715971994 16871597199 16871597199
cache.m7g.16xlarge 225000375228 22500037523 22500037523
cache.c7gn.large 3317862236 1403718103 1403718103
cache.c7gn.xlarge 6854542746 2826184970 2826184970
cache.c7gn.2xlarge 13891921715 5671118356 5671118356
cache.c7gn.4xlarge 27966669210 11360986522 11360986522
cache.c7gn.8xlarge 56116178125 22500037523 22500037523
cache.c7gn.12xlarge 84357985997 34120634655 34120634655
cache.c7gn.16xlarge 113609865216 45000075046 45000075046
注意

預設VPC情況下,所有目前世代的執行個體類型都會在 Amazon Virtual Private Cloud 中建立。

T1 執行個體不支援多個可用區。

T1 和 T2 執行個體不支援 Redis OSS AOF。

Redis 2.8.22 版appendonly及更新OSS版本appendfsync不支援 Redis OSS組態變數和 。

Memcached 專用參數

Memcached

若您沒有為 Memcached 叢集指定參數群組,則會使用適合您引擎版本的預設參數群組。您無法變更預設參數群組中任何參數的值。但是,您可以建立自訂參數群組並隨時將其指派給您的叢集。如需詳細資訊,請參閱建立 ElastiCache 參數群組

Memcached 1.6.17 的變更

從 Memcached 1.6.17 開始,我們不再支援下列管理命令:lru_crawlerlru 和 slabs。這些變更生效後,您就無法在執行期透過命令啟用/停用 lru_crawler。請透過修改自訂參數群組來啟用/停用 lru_crawler

Memcached 1.6.6 版新增參數

針對 Memcached 1.6.6,沒有支援任何額外參數。

參數群組系列:memcached1.6

Memcached 1.5.10 參數變更

針對 Memcached 1.5.10 版,支援以下額外參數。

參數群組系列:memcached1.5

名稱 詳細資訊 描述
no_modern

預設:1

類型:布林值

可修改:是

允許的值:0、1

變更生效:啟動時

用於停用 slab_reassignlru_maintainer_threadlru_segmentedmaxconns_fast 命令的別名。

使用 Memcached 1.5 和更新版本時, no_modern也會將 hash_algorithm 設定為 jenkins

此外,使用 Memcached 1.5.10 時, inline_ascii_reponse 是由 參數 控制parallelly。這表示如果 no_modern 已停用,則 inline_ascii_reponse 會停用。從 Memcached 引擎 1.5.16 起, inline_ascii_response 參數不再適用,因此no_modern啟用或停用對 沒有影響inline_ascii_reponse

如果 no_modern 已停用,則會maxconns_fastWILL啟用 slab_reassignlru_segmentedlru_maintainer_thread和 。由於 slab_automovehash_algorithm 參數不是SWITCH參數,因此其設定是以參數群組中的組態為基礎。

如果您想要停用no_modern並還原至 modern,您必須設定自訂參數群組以停用此參數,然後重新啟動,這些變更才會生效。

注意

自 2021 年 8 月 20 日起,此參數的預設組態值已從 0 變更為 1。更新後的預設值會在 2021 年 8 月 20 日之後,由每個區域的新ElastiCache 使用者自動取得。在 2021 年 8 月 20 日之前,區域中的現有 ElastiCache 使用者需要手動修改其自訂參數群組,才能取得此新變更。

inline_ascii_resp

預設:0

類型:布林值

可修改:是

允許的值:0、1

變更生效:啟動時

在項目內存放來自 VALUE 回應的數字,使用最多 24 個位元組。get、 ASCII faster集的小慢。

針對 Memcached 1.5.10,會移除以下參數。

名稱 詳細資訊 描述
expirezero_does_not_evict

預設:0

類型:布林值

可修改:是

允許的值:0、1

變更生效:啟動時

此版本中已不再支援。

modern

預設:1

類型:布林值

可修改:是 (如果設為 no_modern,則需要重新啟動)

允許的值:0、1

變更生效:啟動時

此版本中已不再支援。從此版本開始,每次啟動或重新啟動時,no-modern 預設會啟用。

Memcached 1.4.34 版新增參數

針對 Memcached 1.4.34,沒有支援任何額外參數。

參數群組系列:memcached1.4

Memcached 1.4.33 版新增參數

針對 Memcached 1.4.33 版,支援以下額外參數。

參數群組系列:memcached1.4

名稱 詳細資訊 描述
modern

預設:啟用

類型:布林值

可修改:是

變更生效:啟動時

多種功能的別名。啟用 modern 等同於開啟以下命令,並使用 murmur3 雜湊演算法:slab_reassignslab_automovelru_crawlerlru_maintainermaxconns_fasthash_algorithm=murmur3

watch

預設:啟用

類型:布林值

可修改:是

變更生效:立即

若使用者到達其 watcher_logbuf_sizeworker_logbuf_size 限制,則日誌可能會遭到卸除。

日誌擷取、移出或突變。例如,當使用者開啟 watch 時,他們會在 getsetdeleteupdate 發生時看到日誌。

idle_timeout

預設:0 (停用)

類型:整數

可修改:是

變更生效:啟動時

在詢問關閉前允許用戶端閒置的最低秒數。數值範圍:0 到 86400。

track_sizes

預設:停用

類型:布林值

可修改:是

變更生效:啟動時

顯示每個 Slab 群組使用的大小。

啟用 track_sizes 可讓您執行 stats sizes,而無須執行 stats sizes_enable

watcher_logbuf_size

預設:256 (KB)

類型:整數

可修改:是

變更生效:啟動時

watch 命令會開啟 Memcached 的串流日誌。但是,watch 可能會在移出率、突變率或擷取率過高,足以導致日誌緩衝區填滿時卸除日誌。在這種情況下,使用者可增加緩衝區大小來減少遺失日誌的機率。

worker_logbuf_size

預設:64 (KB)

類型:整數

可修改:是

變更生效:啟動時

watch 命令會開啟 Memcached 的串流日誌。但是,watch 可能會在移出率、突變率或擷取率過高,足以導致日誌緩衝區填滿時卸除日誌。在這種情況下,使用者可增加緩衝區大小來減少遺失日誌的機率。

slab_chunk_max

預設:524288 (位元組)

類型:整數

可修改:是

變更生效:啟動時

指定 Slab 的大小上限。設定較小的 Slab 大小以更有效率地使用記憶體。大於 slab_chunk_max 的項目會分割成多個 Slab。

lru_crawler metadump [all|1|2|3]

預設:停用

類型:布林值

可修改:是

變更生效:立即

若啟用 lru_crawler,則此命令會傾印所有鍵。

all|1|2|3 - 所有 Slab,或是指定特定的 Slab 編號。

Memcached 1.4.24 版新增參數

針對 Memcached 1.4.24 版,支援以下額外參數。

參數群組系列:memcached1.4

名稱 詳細資訊 描述
disable_flush_all

預設:0 (停用)

類型:布林值

可修改:是

變更生效:啟動時

新增參數 (-F) 來停用 flush_all。在您永遠不想在生產執行個體上執行完整排清時很有用。

數值:0、1 (當此值為 0 時,使用者便可執行 flush_all)。

hash_algorithm

預設:jenkins

類型:字串

可修改:是

變更生效:啟動時

要使用的雜湊演算法。允許值:murmur3 及 jenkins。
lru_crawler

預設:0 (停用)

類型:布林值

可修改:是

變更生效:重新啟動後

注意

您可以於執行時間從命令列暫時啟用 lru_crawler。如需詳細資訊,請參閱「描述」欄。

清理已過期的項目 Slab 類別。此為在背景執行且影響程度低的程序。目前需要使用手動命令初始化網路爬取。

若要暫時啟用,請在命令列執行 lru_crawler enable

lru_crawler 1,3,5 會網路爬取 Slab 類別 1、3 及 5,尋找過期的項目,並新增到釋放清單。

數值:0、1

注意

在命令列啟用 lru_crawler 會啟用網路爬取程式,直到在命令列停用或下一次重新開機為止。若要永久啟用,您必須修改參數值。如需詳細資訊,請參閱修改 ElastiCache 參數群組

lru_maintainer

預設:0 (停用)

類型:布林值

可修改:是

變更生效:啟動時

已達到LRUs容量時,在 之間隨機切換項目的背景執行緒。數值:0、1。

expirezero_does_not_evict

預設:0 (停用)

類型:布林值

可修改:是

變更生效:啟動時

搭配 lru_maintainer 使用時,讓過期時間為 0 的項目無法移出。

警告

這可能會填滿其他可移出項目的可用記憶體。

可設為略過 lru_maintainer

Memcached 1.4.14 版新增參數

針對 Memcached 1.4.14 版,支援以下額外參數。

參數群組系列:memcached1.4

Memcached 1.4.14 版中新增的參數
名稱 詳細資訊 描述
config_max

預設:16

類型:整數

可修改:否

ElastiCache 組態項目的數量上限。
config_size_max

預設:65536

類型:整數

可修改:否

組態項目的大小上限,單位為位元組。
hashpower_init

預設:16

類型:整數

可修改:否

雜 ElastiCache 湊表的初始大小,表示為 2 的功率。預設為 16 (2^16),或 65536 個鍵。
maxconns_fast

預設值:0 (false)

類型:布林值

可修改:是

變更生效:重新啟動後

變更到達連線數量上限時處理新連線請求的方式。若將此參數設為 0 (零),則新的連線會新增到待處理項目佇列,並等待其他連線關閉。如果 參數設定為 1, ElastiCache 則將錯誤傳送至用戶端,並立即關閉連線。
slab_automove

預設:0

類型:整數

可修改:是

變更生效:重新啟動後

調整 Slab 自動移動演算法:若將此參數設為 0 (零),則停用自動移動演算法。如果設定為 1, ElastiCache 會採取緩慢、保守的方法自動移動厚切塊。如果將其設定為 2,則每當有驅逐時, ElastiCache 積極移動厚切塊。(除非用於測試用途,否則不建議此模式。)
slab_reassign

預設值:0 (false)

類型:布林值

可修改:是

變更生效:重新啟動後

啟用或停用 Slab 指派。若將此參數設為 1,您可以使用 "slabs reassign" 命令來手動重新指派記憶體。

Memcached 1.4.5 版支援參數

參數群組系列:memcached1.4

針對 Memcached 1.4.5 版,支援以下參數。

Memcached 1.4.5 版中新增的參數
名稱 詳細資訊 描述
backlog_queue_limit

預設:1024

類型:整數

可修改:否

待處理佇列限制。
binding_protocol

預設:自動

類型:字串

可修改:是

變更生效:重新啟動後

繫結通訊協定。

允許值:asciiauto

如需修改 binding_protocol 值的指導,請參閱修改 ElastiCache 參數群組

cas_disabled

預設值:0 (false)

類型:布林值

可修改:是

變更生效:重新啟動後

如果 1(true),檢查並設定 (CAS) 操作將會停用,而且儲存的項目比CAS啟用時耗用較少 8 個位元組。
chunk_size

預設:48

類型:整數

可修改:是

變更生效:重新啟動後

配置給最小項目鍵、值及標記的空間數量下限 (位元組)。
chunk_size_growth_factor

預設:1.25

類型:浮動

可修改:是

變更生效:重新啟動後

成長因數,控制每個後續 Memcached 區塊的大小。每個區塊都會比前一個區塊大 chunk_size_growth_factor 倍。
error_on_memory_exhausted

預設值:0 (false)

類型:布林值

可修改:是

變更生效:重新啟動後

若為 1 (True),則當沒有記憶體可存放項目時,Memcached 會傳回錯誤而非移出項目。
large_memory_pages

預設值:0 (false)

類型:布林值

可修改:否

如果 1(true), ElastiCache 會嘗試使用大型記憶體頁面。
lock_down_paged_memory

預設值:0 (false)

類型:布林值

可修改:否

如果 1(true), ElastiCache 會鎖定所有分頁記憶體。
max_item_size

預設:1048576

類型:整數

可修改:是

變更生效:重新啟動後

可存放在叢集中的最大項目大小 (位元組)。
max_simultaneous_connections

預設:65000

類型:整數

可修改:否

同時連線數量上限。
maximize_core_file_limit

預設值:0 (false)

類型:布林值

可修改:

變更生效:重新啟動後

如果 1(true), ElastiCache 會最大化核心檔案限制。
memcached_connections_overhead

預設:100

類型:整數

可修改:是

變更生效:重新啟動後

要為 Memcached 連線及其他雜項額外負荷預留的記憶體數量。如需此參數的相關資訊,請參閱 Memcached 連線額外負荷
requests_per_event

預設:20

類型:整數

可修改:否

指定連線每個事件的請求數上限。此限制為避免資源耗盡的必要項目。

Memcached 連線額外負荷

在每個節點上,可供存放項目的記憶體為該節點可用記憶體的總數 (該值存放在 max_cache_memory 參數中),減去用於連線及其他額外負荷 (該值存放在 memcached_connections_overhead 參數中) 所使用的記憶體。例如,cache.m1.small 類型的節點具有 1300MB 的 max_cache_memory。使用預設 100MB 的 memcached_connections_overhead 值,Memcached 程序便會擁有 1200MB,可用於存放項目。

memcached_connections_overhead 參數的預設值足以滿足大多數的使用案例。但是,連線額外負荷所需要的配置數量可能會因多項因素而不同,包括請求率、承載大小,以及連線數量。

您可以變更 memcached_connections_overhead 的值來更進一步配合您應用程式的需求。例如,增加 memcached_connections_overhead 參數的值會減少可用於存放項目的記憶體數量,為連線額外負荷提供更大的緩衝區。減少 memcached_connections_overhead 參數的值可讓您擁有更多記憶體來存放項目,但可能會增加切換 (swap) 用量及降低效能。若您察覺切換 (swap) 用量及效能降低,請嘗試增加 memcached_connections_overhead 參數的值。

重要

針對 cache.t1.micro 節點類型,memcached_connections_overhead 的值會透過以下方式決定:

  • 如果您叢集使用預設參數群組, ElastiCache 會將 的值設定為 memcached_connections_overhead 13MB 。

  • 若您的叢集使用您自行建立的參數群組,您可以將 memcached_connections_overhead 的值設為您所選擇的值。

Memcached 節點類型專用參數

雖然大多數的參數都只有單一值,有些參數則可能會根據所使用的節點類型而有不同的值。下表顯示每個節點類型 max_cache_memorynum_threads 參數的預設值。這些參數上的值都無法修改。

節點類型 max_cache_memory (以 MB 為單位) num_threads
cache.t1.micro 213 1
cache.t2.micro 555 1
cache.t2.small 1588 1
cache.t2.medium 3301 2
cache.t3.micro 512 2
cache.t3.small 1402 2
cache.t3.medium 3364 2
cache.t4g.micro 512 2
cache.t4g.small 1402 2
cache.t4g.medium 3164 2
cache.m1.small 1301 1
cache.m1.medium 3350 1
cache.m1.large 7100 2
cache.m1.xlarge 14600 4
cache.m2.xlarge 33800 2
cache.m2.2xlarge 30412 4
cache.m2.4xlarge 68000 16
cache.m3.medium 2850 1
cache.m3.large 6200 2
cache.m3.xlarge 13600 4
cache.m3.2xlarge 28600 8
cache.m4.large 6573 2
cache.m4.xlarge 11496 4
cache.m4.2xlarge 30412 8
cache.m4.4xlarge 62234 16
cache.m4.10xlarge 158355 40
cache.m5.large 6537 2
cache.m5.xlarge 13248 4
cache.m5.2xlarge 26671 8
cache.m5.4xlarge 53516 16
cache.m5.12xlarge 160900 48
cache.m5.24xlarge 321865 96
cache.m6g.large 6537 2
cache.m6g.xlarge 13248 4
cache.m6g.2xlarge 26671 8
cache.m6g.4xlarge 53516 16
cache.m6g.8xlarge 107000 32
cache.m6g.12xlarge 160900 48
cache.m6g.16xlarge 214577 64
cache.c1.xlarge 6600 8
cache.r3.large 13800 2
cache.r3.xlarge 29100 4
cache.r3.2xlarge 59600 8
cache.r3.4xlarge 120600 16
cache.r3.8xlarge 120600 32
cache.r4.large 12590 2
cache.r4.xlarge 25652 4
cache.r4.2xlarge 51686 8
cache.r4.4xlarge 103815 16
cache.r4.8xlarge 208144 32
cache.r4.16xlarge 416776 64
cache.r5.large 13387 2
cache.r5.xlarge 26953 4
cache.r5.2xlarge 54084 8
cache.r5.4xlarge 108347 16
cache.r5.12xlarge 325400 48
cache.r5.24xlarge 650869 96
cache.r6g.large 13387 2
cache.r6g.xlarge 26953 4
cache.r6g.2xlarge 54084 8
cache.r6g.4xlarge 108347 16
cache.r6g.8xlarge 214577 32
cache.r6g.12xlarge 325400 48
cache.r6g.16xlarge 429154 64
cache.c7gn.large 3164 2
cache.c7gn.xlarge 6537 4
cache.c7gn.2xlarge 13248 8
cache.c7gn.4xlarge 26671 16
cache.c7gn.8xlarge 53516 32
cache.c7gn.12xlarge 325400 48
cache.c7gn.16xlarge 108347 64
注意

所有 T2 執行個體都是在 Amazon Virtual Private Cloud (Amazon VPC) 中建立。