本页介绍了 Memorystore for Valkey 可用的最大内存政策和其他配置。Memorystore for Valkey 仅支持集群模式的实例。
如需了解如何修改本页面上所列的配置,请参阅 配置实例。
最大内存政策
当实例内存已满,并且有新的写入操作时,Valkey 将逐出
键为写入腾出空间,具体取决于实例的最大内存政策。Memorystore for Valkey 的默认最大内存政策为 volatile-lru
。您还可以使用以下最大内存政策之一:
noeviction
:在实例达到最大内存时返回错误。 不会覆盖或逐出任何数据。allkeys-lfu
:从整个键集中逐出最不常用的 (LFU) 键。allkeys-lru
:从整个密钥集中逐出最近最少使用的 (LRU) 键。volatile-lfu
:逐出 使用频率最低的键,通过 TTL(存留时间)到期时间进行设置。volatile-lru
:逐出通过 TTL 到期时间设置的最近最少使用的 (LRU) 键。allkeys-random
:逐出整个键空间中的随机键。volatile-random
:从通过 TTL 到期设置的那些键中逐出随机键。volatile-ttl
:从通过 TTL 到期设置的那些键中逐出 TTL 最短的键。
可修改的配置参数
您可以在创建或更新 Memorystore for Valkey 实例。
参数 | 说明 | 可接受的值 |
---|---|---|
maxmemory-clients | 通过此配置,用户可以控制客户端的内存用量上限。 普通/发布/订阅客户端的总内存用量。如果达到上限,则具有最多内存的客户端 相应的使用将被逐出。 |
可接受的值为介于 0% 和 100% 之间的整数百分比值。表示客户端存储空间受限于实例 maxmemory 的百分比。默认值取决于节点类型。如需了解详情,请参阅 节点特征。 |
maxmemory | 指定逐出政策的可调整限制
效果。您可以在单个节点级别设置最大内存限制,但
适用于所有节点例如,假设您有一个包含 3 个节点的实例,使用 58 GB 的 highmem-xlarge 节点类型,并且希望将 maxmemory 设置为实例总容量的 90%。为此,您将 maxmemory 设置为 52.2 GB,
节点容量的 90%。这适用于所有节点,
设置为 90%。如需详细了解默认预留开销,请参阅键空间容量和预留开销。
|
实例的最大内存限制。 它支持以下单位: b (默认)k kb m mb g gb |
maxmemory-policy | 指定当实例数据到达
上限为 maxmemory 。如需详细了解每项政策,请参阅最大内存政策。
|
noeviction allkeys-lru volatile-lru (默认)allkeys-random volatile-random volatile-ttl volatile-lfu allkeys-lfu |
notify-keyspace-events | 允许客户端订阅某些键空间事件的通知。 |
"" 无事件(默认) K 个键空间事件,发布时带有 __keyspace@<db>__ 前缀。 E 以 __keyevent@<db>__ 前缀发布的关键事件事件。 g 通用命令(非类型专用),例如 DEL、EXPIRE 或 RENAME $ 字符串命令 l 列表命令 s 集合命令 h 哈希命令 z 排序集合命令 x 过期事件(每次有键过期时都会生成的事件) e 驱逐事件(因达到 maxmemory 而驱逐键时生成的事件) A g$lshzxe 的别名,因此“AKE”字符串表示所有事件。 |
slowlog-log-slower-than | 可让您配置慢日志。指定执行时间阈值(以微秒为单位)。任何时候 超出此阈值的命令,会被添加到慢速日志中。 | 默认值为 10000。 值为 0 会强制记录每个命令。而值为 -1 表示停用慢速日志。任何其他负值都会被拒绝。 |
maxclients | 可让您为实例配置 maxclients 配置。如需了解实例的客户端数量上限和默认值,请参阅客户端数量上限。 | 默认值取决于节点类型。如需了解详情,请参阅 节点特征。 |