我正在尝试查找有关如何配置和使用 Lettuce 的引用资料具有客户端一致性哈希的 Redis 客户端。
这种分片方法在 ShardedJedis 中实现来自 Jedis 客户端并在 Redis partitioning documentation 中描述.
方法的简短描述: 我们有一个具有多个独立 Redis 进程/节点的环境,没有使用 Redis Cluster 或 Sentinel 的任何基于服务器的请求路由,并且客户端通过在客户端应用哈希函数(key -> node_id)来决定存储/搜索 key 的位置.
lettuce 是否支持开箱即用的这种类型的集群/分片?如果是,如何将其配置为使用客户端散列?
最佳答案
长话短说
除了 Redis Cluster 之外,Lettuce 没有内置的分片支持。
较长的响应
Lettuce 支持基本的 Redis 功能。它支持 Redis Standalone、Redis Cluster、Redis Sentinel 以及从版本 4.x 开始的 Master/Slave(这是 Redis Standalone 之上的读取路由层)操作模式。可以在 Redis 之上构建的所有其他建议和可能性都不是 Lettuce 的一部分。
Lettuce 专注于核心 Redis 功能,成为可扩展且有弹性的客户端,为您的应用程序提供传输保证。如果您有兴趣这样做,您可以自己建立这种支持。
Lettuce 保持可扩展性,允许在 AbstractRedisClient
(支持客户端外观和连接过程)、RedisChannelHandler
(连接外观本身)之上构建扩展) 和 RedisChannelWriter
(可用于节点路由的抽象书写外观)。
关于java - 如何在 Lettuce Redis 客户端中使用客户端一致性哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39183530/