启用和停用集群模式

本页介绍了 Memorystore for Valkey 的两种可用模式:“集群模式已启用”和“集群模式已停用”。

  • 已启用集群模式:已启用集群模式支持 OSS Valkey 集群规范。它可让您将数据分区到多个分片,对于数据量或数据传输速度较高的应用非常有用。

  • 已停用集群模式:在“已停用集群模式”下,您的实例不会分区,并且托管在单个分片上。如果单个节点可以处理数据量和写入吞吐量,并且您更喜欢使用“启用集群模式”中不提供的特定功能,则可以使用此模式。

在创建实例时,您只能选择“集群模式已启用”或“集群模式已停用”。INFO 命令输出的 server_mode 字段指定了实例的模式。创建实例后,您无法将其从“集群模式已启用”或“集群模式已停用”模式更改为另一种模式。我们建议您选择“已启用集群模式”,因为此模式具有更好的横向扩缩特性。

比较“已启用集群模式”和“已停用集群模式”

功能 已启用集群模式 集群模式已停用
横向扩缩 1 到 250 个分片 不支持(仅限单分片)
客户端支持 需要集群感知型客户端才能使用发现端点 使用任何 Valkey 或 Redis 客户端
多按键命令 仅在单个键槽中受支持 适用于数据库中的所有键
可写入的最大容量 14,500 GB 58 GB
每个实例的数据库数上限 1 16

我应该选择哪个

在选择“启用集群模式”和“停用集群模式”时,请考虑以下因素:

  • 读写吞吐量:如果您的写入吞吐量由单个节点提供,并且您的读取吞吐量由最多两个副本提供,请使用“集群模式已停用”实例。如果读写吞吐量要求较高,请使用启用了集群模式的实例,因为此类实例可以将负载分散到不同的节点。
  • 从 Memorystore for Redis 迁移:如果您使用的是 Memorystore for Redis 实例或自有 Redis 实例,则与迁移到启用集群模式的实例相比,迁移到停用集群模式的实例需要进行的更改非常少。如需迁移到启用了集群模式的实例,您必须使用集群感知型客户端。注意:Memorystore for Valkey 支持 IAM 身份验证,这种身份验证机制比 Memorystore 支持的明文身份验证更安全。

  • 多键查询:停用集群模式的实例支持对数据库中的键执行多键操作(例如 MGET、MSET、EVAL)。对于启用了集群模式的实例,多键操作仅限于单个哈希槽。

  • 命名空间:停用集群模式后,您可以使用多个数据库通过 SELECT 命令对不同类型的数据进行分桶。如果您想使用同一实例为多个应用提供支持,或者可能需要写入不同类型的无关数据,此功能非常有用。启用集群模式后,不支持多个数据库。最佳实践是使用多个 Valkey 实例,而不是多个数据库,以确保服务质量 (QoS)。同一节点上的多个数据库仅提供逻辑隔离。