支援的執行個體設定

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

如要瞭解如何修改本頁列出的設定,請參閱「設定叢集」。

maxmemory 政策

當執行個體記憶體已滿,且有新的寫入作業時,Redis 會根據執行個體的 maxmemory 政策,逐出金鑰來騰出空間。Memorystore for Redis Cluster 的預設 maxmemory 政策為 volatile-lru。您也可以使用下列其中一種 maxmemory 政策:

  • noeviction:當執行個體達到 maxmemory 時,傳回錯誤。不會覆寫或剔除任何資料。
  • allkeys-lfu:從整個金鑰集中,剔除最不常使用的金鑰。
  • allkeys-lru:從整個金鑰集中,剔除最近最少使用的 (LRU) 金鑰。
  • volatile-lfu:逐出設有存留時間 (TTL) 到期時間,且最不常使用的金鑰。
  • volatile-lru:移除最近最少使用 (LRU) 的鍵,且這些鍵已設定存留時間到期。
  • allkeys-random::從整個鍵空間中剔除隨機鍵。
  • volatile-random:從設有存留時間 (TTL) 到期時間的金鑰中,隨機剔除金鑰。
  • volatile-ttl:從設有存留時間到期時間的金鑰中,剔除存留時間最短的金鑰。

可修改的設定參數

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

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

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

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

支援下列單位:

b (預設)
k
kb
m
mb
g
gb
maxmemory-policy 指定執行個體資料達到 maxmemory 限制時,Redis 應採取的行為。如要進一步瞭解各項政策,請參閱「Maxmemory 政策」。

如要進一步瞭解開放原始碼 Redis maxmemory 政策,請參閱開放原始碼 Redis LRU 快取頁面。
noeviction
allkeys-lru
volatile-lru (預設)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu (Redis 4.0 以上版本)
allkeys-lfu (Redis 4.0 以上版本)
notify-keyspace-events 允許用戶端訂閱特定鍵空間事件的通知。 詳情請參閱「Redis Keyspace 通知」。 ""
無事件 (預設)
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 Redis Cluster 會將 proto-bulk-max-len 設定參數的值設為 256 MB。您無法變更這個值。