支援的執行個體設定

本頁說明 Memorystore for Valkey 適用的 maxmemory 政策和其他設定。

如要瞭解如何修改這個頁面列出的設定,請參閱「設定執行個體」。

Maxmemory 政策

當執行個體的記憶體已滿,但有新的寫入作業要執行時,Valkey 會根據執行個體的 Maxmemory 政策撤銷金鑰,以便釋出空間來執行寫入作業。Memorystore for Valkey 的預設 maxmemory 政策為 volatile-lru。您也可以使用下列其中一項 maxmemory 政策:

  • noeviction:當例項達到 maxmemory 時,會傳回錯誤。不會覆寫或逐出任何資料。
  • allkeys-lfu:從整個鍵集移除最少使用的 (LFU) 金鑰。
  • allkeys-lru:從整個金鑰集逐出最近最少使用的 (LRU) 金鑰。
  • volatile-lfu:清除設有 TTL (存留時間) 到期時間的最少使用金鑰。
  • volatile-lru:撤銷設定存留時間到期的最少最近使用 (LRU) 金鑰。
  • allkeys-random:從整個鍵空間中逐出隨機鍵。
  • volatile-random:從設有 TTL 到期時間的鍵中,隨機逐出鍵。
  • volatile-ttl:從設有存留時間到期日的金鑰中,移除存留時間最短的金鑰。

可修改的設定參數

建立或更新 Memorystore for Valkey 執行個體時,可以修改下列參數。

參數 說明 可接受的值
maxmemory-clients 這項設定可讓使用者控管用戶端的記憶體用量上限。

一般/發布/訂閱用戶端的記憶體用量總計。如果達到上限,系統會清除記憶體用量最高的用戶端。
可接受的值為介於 0%100% 之間的整數百分比值。代表用戶端儲存空間的執行個體 maxmemory 百分比上限。

預設值取決於節點類型。詳情請參閱「節點特性」。
maxmemory 這項可調整的限制是以 GB 為單位。如果達到這項限制,您的移除政策就會生效。您可以在個別節點層級設定 maxmemory 限制,但這項設定會套用至所有節點。舉例來說,假設您有一個包含 3 個節點的執行個體,使用 58 GB 的 highmem-xlarge 節點類型,並想將 maxmemory 設為執行個體總容量的 90%。為此,請將 maxmemory 設為 52.2 GB,也就是節點容量的 90%。這項設定會套用至所有節點,將執行個體 maxmemory 總限制設為 90%。如要進一步瞭解預設保留的額外負荷,請參閱「鍵空間容量和保留的額外負荷」。 執行個體的 Maxmemory 限制。

支援的單位如下:

b (預設)
k
kb
m
mb
g
gb
maxmemory-policy 指定執行個體資料達到 maxmemory 限制時,Valkey 的行為。如要進一步瞭解各項政策,請參閱 Maxmemory 政策 noeviction
allkeys-lru
volatile-lru (預設)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu
allkeys-lfu
notify-keyspace-events 允許用戶端訂閱特定鍵空間事件的通知。 ""
沒有事件 (預設)
K
使用 __keyspace@<db>__ 前置字元發布的鍵空間事件。
E
Keyevent 事件,發布時會加上 __keyevent@<db>__ 前置字元。
g
一般指令 (非特定類型),例如 DEL、EXPIRE 或 RENAME
$
字串指令
l
清單指令
s
設定指令
h
雜湊指令
z
排序集指令
x
過期事件 (每次金鑰過期時產生的事件)
e
逐出事件 (金鑰因 maxmemory 而遭逐出時產生的事件)
A
g$lshzxe 的別名,因此「AKE」字串代表所有事件。
slowlog-log-slower-than 可讓您設定慢速記錄。指定執行時間門檻 (以微秒為單位)。只要指令超過這個門檻,就會新增至慢速記錄。 預設值為 10000。

如果值為零,系統會強制記錄每個指令。而值為 -1 則會停用慢速記錄。系統會拒絕任何其他負值。
maxclients 可讓您設定執行個體的 maxclients 設定。如要瞭解執行個體的用戶端上限和預設值,請參閱「用戶端上限」。 預設值取決於節點類型。詳情請參閱「節點特性」。
資料庫 可設定執行個體的資料庫設定。Memorystore for Valkey 僅支援已停用叢集模式的執行個體使用這個參數。 預設值為 16 個資料庫。最多可設定 100 個資料庫。