支持的实例配置

本页面介绍 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 指定您的逐出政策生效的可调整限制。您可以在各个节点级别设置最大内存限制,但该 设置适用于所有节点。例如,假设您有一个包含 3 个节点的实例,使用 58 GB 的 highmem-xlarge 节点类型,并且想要将 maxmemory 设置为实例总容量的 90%。为此,您可以将 maxmemory 设置为 52.2 GB,即 节点容量的 90%。这适用于所有节点,会将实例的最大内存限制设置为 90%。如需详细了解默认预留 开销,请参阅 键空间容量和预留开销 实例的最大内存限制。

它支持以下单位:

b(默认)
k
kb
m
mb
g
gb
maxmemory-policy 指定当实例数据达到 maxmemory 限制时 Valkey 遵循的行为。如需详细了解每项政策,请参阅 最大内存政策 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
逐出事件(当针对最大内存逐出键时生成的事件)
A
g$lshzxe 的别名,因此“AKE”字符串表示所有事件。
slowlog-log-slower-than 让您可以配置 慢速日志。指定执行时间阈值(以微秒为单位)。每当 命令超出此阈值时,系统都会将其添加到慢速日志中。 默认值为 10000。

值为零会强制记录每个命令。而值为 -1 会停用慢速日志。任何其他负值都会被拒绝。
maxclients 让您可以为实例配置 maxclients 配置。如需了解实例的最大客户端数限制和默认值,请参阅最大客户端数 默认值取决于节点类型。如需了解详情,请参阅 节点特征
databases

让您可以为实例配置数据库数量。 Memorystore for Valkey 仅支持 已停用集群模式的实例 使用此参数。

默认设置为 16 个数据库。您可以将其配置为最多 100 个数据库。
cluster-databases

让您可以为 Memorystore for Valkey 9.0 实例配置数据库数量。Memorystore for Valkey 仅支持已启用集群模式的实例使用此 参数。

默认设置为 1 个数据库。您可以将其配置为最多 100 个数据库。