java - 如何在 Lettuce Redis 客户端中使用客户端一致性哈希

标签 java redis lettuce redis-cluster

我正在尝试查找有关如何配置和使用 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/

相关文章:

redis - 在 Redis 的单个命令中使用带 TTL 的 RPUSH

python - 生菜场景可以有多个标签吗?

java - 如何从从 HTTPClient 调用的 Servlet 获得对 HTTPClient 的响应?

BPEL 共享实例中的 Java Embed Activity

java - 凯撒密码Java解密

amazon-web-services - 带一个 float 的 AWS 存储

java - recyclerview.adapter 重置单选按钮

windows - Windows 服务器上的 Redis : no config file specified

java - 如何在 Redis 中缓存表

java - 为什么我的项目中找不到 "RedisStreamCommands"接口(interface)?