|
此版本仍在开发中,尚未被视为稳定版本。如需使用最新稳定版本,请访问 Spring Data Redis 4.0.4! |
在集群上运行的 Redis 仓库
你可以在 Redis 集群环境中使用 Redis 仓库支持。
有关 xref page 的配置详情,请参见“Redis 集群”一节。
不过,仍需进行一些额外的配置,因为默认的键分布会将实体和二级索引分散到整个集群及其所有槽位中。
下表显示了集群上的数据详情(基于前面的示例):
| 键 | 类型 | 插槽 | 节点 |
|---|---|---|---|
people:e2c7dcee-b8cd-4424-883e-736ce564363e |
用于哈希的 id |
15171 |
127.0.0.1:7381 |
people:a9d4b3a0-50d3-4538-a2fc-f7fc2581ee56 |
用于哈希的 id |
7373 |
127.0.0.1:7380 |
people:firstname:rand |
索引 |
1700 |
127.0.0.1:7379 |
某些命令(例如 SINTER 和 SUNION)只有在所有涉及的键都映射到同一个槽(slot)时,才能在服务器端处理。
否则,计算必须在客户端进行。
因此,将键空间固定到单个槽非常有用,这样可以立即利用 Redis 的服务器端计算能力。
下表展示了执行操作时会发生什么(注意槽列和节点列中端口值的变化):
| 键 | 类型 | 插槽 | 节点 |
|---|---|---|---|
{people}:e2c7dcee-b8cd-4424-883e-736ce564363e |
用于哈希的 id |
2399 |
127.0.0.1:7379 |
{people}:a9d4b3a0-50d3-4538-a2fc-f7fc2581ee56 |
用于哈希的 id |
2399 |
127.0.0.1:7379 |
{people}:firstname:rand |
索引 |
2399 |
127.0.0.1:7379 |
使用 Redis 集群时,通过 @RedisHash("{yourkeyspace}") 定义并固定键空间(keyspaces)到特定的槽(slots)。 |