跳到主要内容

在集群上运行的 Redis 存储库

DeepSeek V3 中英对照 Redis Repositories Running on a Cluster

你可以在集群 Redis 环境中使用 Redis 仓库支持。有关 ConnectionFactory 的配置详情,请参阅“Redis 集群”部分。然而,由于默认的键分布会将实体和二级索引分散到整个集群及其槽中,因此还需要进行一些额外的配置。

下表展示了集群中数据的详细信息(基于前面的示例):

类型槽位节点
people:e2c7dcee-b8cd-4424-883e-736ce564363e哈希 ID15171127.0.0.1:7381
people:a9d4b3a0-50d3-4538-a2fc-f7fc2581ee56哈希 ID7373127.0.0.1:7380
people:firstname:rand索引1700127.0.0.1:7379

某些命令(如 SINTERSUNION)只有在所有涉及的键映射到同一个槽时才能在服务器端处理。否则,计算必须在客户端完成。因此,将键空间固定到一个槽上非常有用,这样可以立即利用 Redis 的服务器端计算能力。下表展示了这样做时的效果(注意槽列和节点列中端口值的变化):

类型槽位节点
{people}:e2c7dcee-b8cd-4424-883e-736ce564363e哈希 ID2399127.0.0.1:7379
{people}:a9d4b3a0-50d3-4538-a2fc-f7fc2581ee56哈希 ID2399127.0.0.1:7379
{people}:firstname:rand索引2399127.0.0.1:7379
提示

在使用 Redis 集群时,通过使用 @RedisHash("{yourkeyspace}") 来定义并固定 keyspaces 到特定的 slot。