此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Redis 3.5.3! |
在集群上运行的 Redis 存储库
可以在群集 Redis 环境中使用 Redis 存储库支持。
请参阅“Redis 集群”部分,了解ConnectionFactory
配置详细信息。
尽管如此,还是必须完成一些额外的配置,因为默认密钥分布将实体和二级索引分散到整个集群及其插槽中。
下表显示了集群上的数据详细信息(基于前面的示例):
钥匙 | 类型 | 槽 | 节点 |
---|---|---|---|
人员:E2C7DCEE-B8CD-4424-883E-736CE564363E |
哈希的 ID |
15171 |
127.0.0.1:7381 |
人:a9d4b3a0-50d3-4538-a2fc-f7fc2581ee56 |
哈希的 ID |
7373 |
127.0.0.1:7380 |
人:名字:兰德 |
指数 |
1700 |
127.0.0.1:7379 |
某些命令(例如SINTER
和SUNION
) 只有在所有涉及的键映射到同一插槽时才能在服务器端处理。
否则,必须在客户端进行计算。
因此,将键空间固定到单个插槽很有用,这样可以立即使用 Redis 服务器端计算。
下表显示了执行此作时会发生的情况(请注意插槽列中的更改和节点列中的端口值):
钥匙 | 类型 | 槽 | 节点 |
---|---|---|---|
{people}:e2c7dcee-b8cd-4424-883e-736ce564363e |
哈希的 ID |
2399 |
127.0.0.1:7379 |
{人}:a9d4b3a0-50d3-4538-a2fc-f7fc2581ee56 |
哈希的 ID |
2399 |
127.0.0.1:7379 |
{people}:名字:兰德 |
指数 |
2399 |
127.0.0.1:7379 |
使用@RedisHash("{yourkeyspace}") 到特定插槽。 |