雷迪斯 OSS 特定參數 - Amazon MemoryDB

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

雷迪斯 OSS 特定參數

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

雷迪斯 OSS 7 參數變更

注意

MemoryDB 已推出 Vector 搜尋的預覽版本,其中包含新的不可變參數群組。default.memorydb-redis7.search.preview此參數群組可在 MemoryDB 主控台中使用,以及使用建立叢集 CLI 命令建新 vector-search-enabled 叢集時使用。下列 AWS 區域提供預覽版本:美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡)、亞太區域 (東京) 和歐洲 (愛爾蘭)。

參數群組族群:記憶體

在 Redis 的 OSS 7 中添加的參數如下。

名稱 詳細資訊 描述
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

類型:整數

可修改:是

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

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

search-enabled

允許的值:yes, no

預設:no

類型:字串

可修改:是

變更生效:僅適用於新叢集。

最低引擎版本:7.1

當設定為 yes 時,它會啟用「搜尋」功能。

search-query-timeout-ms

允許的值:1 - 60,000

預設:10,000

類型:整數

可修改:是

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

最低引擎版本:7.1

允許執行搜尋查詢的時間上限 (以毫秒為單位)。

在 Redis 的 OSS 7 中更改的參數如下。

名稱 詳細資訊 描述
activerehashing

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

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

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

名稱 詳細資訊 描述
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 來表示小雜湊編碼。

雷迪斯 OSS 6 參數

注意

在 Redis OSS 引擎版本 6.2 中,當引入 r6gd 節點系列以與、僅noeviction搭配使用資料分層volatile-lru且 r6gd 節點類型支援allkeys-lru最大記憶體原則。

參數組族群:記憶庫

在 Redis 的 OSS 6 中添加的參數如下。

名稱 詳細資訊 描述
maxmemory-policy

類型:字符串

允許的值:揮發性-lru,所有鍵-lru,揮發性-LFU,揮發性隨機,所有鍵-隨機,揮發性 TTL,延遲

預設值:沒有

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

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

list-compress-depth

類型:整數

允許的值:0-

預設:0

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

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

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

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

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

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

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

  • 其他等服務...

hll-sparse-max-bytes

類型:整數

允許的值:

預設:3000

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

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

我們建議使用大約 3000 的值,以獲得空間效率編碼的好處,而不會減慢PFADD太多速度,這是稀疏編碼的 O(N)。當 CPU 不是一個問題時,該值可以提高到〜 10000,但是空間是,並且數據集由許多 HyperLogLogs 基數在 0-15000 範圍內的數據組成。

lfu-log-factor

類型:整數

允許的值:1-

預設:10

用於遞增 LFU 移出原則索引鍵計數器的記錄因子。

lfu-decay-time

類型:整數

允許的值:0-

預設:1

減少 LFU 驅逐政策金鑰計數器的時間 (以分鐘為單位)。

active-defrag-max-scan-fields

類型:整數

允許的值:

預設:1000

在作用中磁碟重組期間,將從主字典掃描處理的設定/雜湊 /zset /清單欄位數目上限。

active-defrag-threshold-upper

類型:整數

允許值:1 到 100

預設:100

進行最大程度投入量所需要的最高分散百分比。

client-output-buffer-limit-pubsub-hard-limit

類型:整數

允許的值:0-

預設:33554432

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

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

類型:整數

允許的值:0-

預設:8388608

針對 Redis OSS 發佈/訂閱用戶端:如果用戶端的輸出緩衝區達到指定的位元組數目,用戶端將會中斷連線,但前提是這種情況持續發生 client-output-buffer-limit-pubsub-soft-seconds.

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

類型:整數

允許的值:0-

預設:60

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

timeout

類型:整數

允許的值:0,20-

預設:0

節點在逾時前等待的秒數。數值為:

  • 0 — 永遠不要中斷閒置用戶端的連線。

  • 1-19 — 無效的值。

  • >=20 — 中斷閒置用戶端之前節點等待的秒數。

notify-keyspace-events

類型:字符串

允許的值:空

預設值:空值

Redis OSS 用於通知發布/訂閱用戶端的金鑰空間事件。默認情況下,所有通知都被禁用。

maxmemory-samples

類型:整數

允許的值:1-

預設:3

對於 least-recently-used (LRU)time-to-live (TTL)計算,此參數代表要檢查的索引鍵的範例大小。默認情況下,Redis OSS 選擇 3 個鍵,並使用最近最少使用的鍵。

slowlog-max-len

類型:整數

允許的值:0-

預設:128

Redis 的 OSS 慢速記錄檔的最大長度。這個長度沒有限制。請注意,它會消耗內存。您可以回收慢日誌使用的內存 SLOWLOG RESET.

activerehashing

類型:字符串

允許的值:是,否

預設:是

主要雜湊表會每秒重新雜湊十次。每一次的重新雜湊操作都會使用 1 毫秒的 CPU 時間。

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

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

類型:整數

允許的值:0-

預設:0

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

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

類型:整數

允許的值:0-

預設:0

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

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

類型:整數

允許的值:0-

預設:0

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

tcp-keepalive

類型:整數

允許的值:0-

預設:300

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

active-defrag-cycle-min

類型:整數

允許值:1 到 75

預設:5

用於磁碟重組的最小投入量 (CPU 百分比)。

stream-node-max-bytes

類型:整數

允許的值:0-

預設:4096

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

stream-node-max-entries

類型:整數

允許的值:0-

預設:100

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

lazyfree-lazy-eviction

類型:字符串

允許的值:是,否

預設:否

對驅逐執行非同步刪除。

active-defrag-ignore-bytes

類型:整數

允許的值:

預設:104857600

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

lazyfree-lazy-expire

類型:字符串

允許的值:是,否

預設:否

對過期的金鑰執行非同步刪除。

active-defrag-threshold-lower

類型:整數

允許值:1 到 100

預設:10

啟動主動磁碟重組所需要的最低分散百分比。

active-defrag-cycle-max

類型:整數

允許值:1 到 75

預設:75

用於磁碟重組的最大投入量 (CPU 百分比)。

lazyfree-lazy-server-del

類型:字符串

允許的值:是,否

預設:否

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

slowlog-log-slower-than

類型:整數

允許的值:0-

預設:10000

Redis O Slow Log SS 功能記錄命令的最大執行時間 (以微秒為單位)。請注意,負數會停用慢速記錄,而零值會強制記錄每個命令。

hash-max-ziplist-entries

類型:整數

允許的值:0-

預設:512

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

hash-max-ziplist-value

類型:整數

允許的值:0-

預設:64

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

set-max-intset-entries

類型:整數

允許的值:0-

預設:512

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

zset-max-ziplist-entries

類型:整數

允許的值:0-

預設:128

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

zset-max-ziplist-value

類型:整數

允許的值:0-

預設:64

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

tracking-table-max-keys

類型:整數

允許的值:

預設值:

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

追蹤的索引鍵有所修改時,會傳送失效訊息給所有用戶端,通知他們快取的值不再有效。此值可讓您指定此資料表的上限。

acllog-max-len

類型:整數

允許的值:

預設:128

ACL 記錄中的項目數目上限。

active-expire-effort

類型:整數

允許的值:1-10

預設:1

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

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

lazyfree-lazy-user-del

類型:字符串

允許的值:是,否

預設:否

指定指DEL令的預設行為是否與相同UNLINK

activedefrag

類型:字符串

允許的值:是,否

預設:否

啟用主動記憶體磁碟重組。

maxclients

類型:整數

允許的值:

預設:65000

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

client-query-buffer-limit

類型:整數

允許的值:

預設:1073741824

單一用戶端查詢緩衝區的大小上限。更改立即發生。

proto-max-bulk-len

類型:整數

允許的值:

預設:536870912

單一元素請求的大小上限。更改立即發生。

內存數據庫節點類型的特定參數

雖然大多數的參數都只有單一值,有些參數則可能會根據所使用的節點類型而有不同的值。下表顯示每個節點類型maxmemory的預設值。maxmemory 的值為您在節點上可以用於資料及其他用途的位元組上限。

節點類型 Maxmemory
db.r7g.large 14037181030
db.r7g.xlarge 28261849702
db.r7g.2xlarge 56711183565
db.r7g.4xlarge 113609865216
db.r7g.8xlarge 225000375228
db.r7g.12xlarge 341206346547
db.r7g.16xlarge 450000750456
db.r6gd.xlarge 28261849702
db.r6gd.2xlarge 56711183565
db.r6gd.4xlarge 113609865216
db.r6gd.8xlarge 225000375228
db.r6g.large 14037181030
db.r6g.xlarge 28261849702
db.r6g.2xlarge 56711183565
db.r6g.4xlarge 113609865216
db.r6g.8xlarge 225000375228
db.r6g.12xlarge 341206346547
db.r6g.16xlarge 450000750456
db.t4g.small 1471026299
db.t4g.medium 3317862236
注意

所有 MemoryDB 執行個體類型都必須在 Amazon Virtual Private Cloud VPC 中建立。