在集群上运行的 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 |
人物:firstname:兰德 |
指数 |
1700 |
127.0.0.1:7379 |
某些命令(例如 和 )只能在所有相关键映射到同一插槽时在服务器端处理。
否则,必须在客户端进行计算。
因此,将键空间固定到单个插槽很有用,这样就可以立即使用 Redis 服务器端计算。
下表显示了执行此操作时会发生什么情况(请注意 slot 列中的变化和 node 列中的 port 值):SINTER
SUNION
钥匙 | 类型 | 槽 | 节点 |
---|---|---|---|
{人物}: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}:firstname:兰德 |
指数 |
2399 |
127.0.0.1:7379 |
使用 Redis 集群时,通过使用特定槽来定义和固定键空间。@RedisHash("{yourkeyspace}") |