本頁面說明 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 (預設)kkbmmbggb |
| maxmemory-policy | 指定執行個體資料達到 maxmemory 限制時,Redis 應採取的行為。如要進一步瞭解各項政策,請參閱「Maxmemory 政策」。如要進一步瞭解開放原始碼 Redis maxmemory 政策,請參閱開放原始碼 Redis LRU 快取頁面。 |
noevictionallkeys-lruvolatile-lru (預設)allkeys-randomvolatile-randomvolatile-ttlvolatile-lfu (Redis 4.0 以上版本)allkeys-lfu (Redis 4.0 以上版本) |
| notify-keyspace-events | 允許用戶端訂閱特定鍵空間事件的通知。 詳情請參閱「Redis Keyspace 通知」。 |
""無事件 (預設) K鍵空間事件,以前置字串 __keyspace@<db>__ 發布。 EKeyevent 事件,發布時會加上 __keyevent@<db>__ 前置字元。 g一般指令 (非特定類型),例如 DEL、EXPIRE 或 RENAME $字串指令 l清單指令 s集合指令 h雜湊指令 z排序集合指令 x過期事件 (每次金鑰過期時產生的事件) e淘汰事件 (金鑰因 maxmemory 而遭淘汰時產生的事件) Ag$lshzxe 的別名,因此「AKE」字串代表所有事件。 |
| slowlog-log-slower-than | 可讓您設定慢速記錄。指定執行時間門檻 (以微秒為單位)。只要指令超過這個門檻,就會新增至慢速記錄。 | 預設值為 10000。 如果值為零,系統會強制記錄每個指令。如果值為 -1,則會停用慢速記錄。系統會拒絕任何其他負值。 |
| maxclients | 可讓您設定執行個體的 maxclients 設定。如要瞭解執行個體的用戶端數量上限和預設值,請參閱「用戶端數量上限」。 | 預設值取決於節點類型。詳情請參閱「節點特性」。 |
無法修改的設定參數
Memorystore for Redis Cluster 會將 proto-bulk-max-len 設定參數的值設為 256 MB。您無法變更這個值。