哈希槽在StackExchange.Redis和Redis群集中如何工作?

时间:2019-07-14 04:59:58

标签: c# redis stackexchange.redis

在具有3个主节点和3个副本的6节点群集中。

(您可以在此video中找到有关18分钟的详细信息)

Redis群集中的每个节点都负责哈希槽的一个子集,例如

  Node A contains hash slots from 0 to 5500.
  Node B contains hash slots from 5501 to 11000.
  Node C contains hash slots from 11001 to 16383.

到目前为止,还不错,但是当尝试连接到Redis集群并从键中获取值时,第一个请求进入集群,它将响应返回哪个节点具有所请求的哈希槽,而在第二次运行中,该值来自计算出的哈希槽中的密钥

enter image description here

所以这里有一个延迟(您可以在此video中找到有关18分钟的更多信息)。但是,如果我可以在内存缓存中使用这些节点和哈希槽,就不会进行这种往返。

但是我不知道StackExchange.Redis的工作原理

  • StackExchange.Redis是否在内部缓存节点和哈希槽?

  • 我必须自己编写此部分吗?第一次调用后,我在S.re上找不到任何api。

  • 我应该计算哈希槽并直接连接到节点 包含优化密钥?

  • 如何连接到Redis集群?应该全部显示6个节点是多路复用器吗?

    var conn = ConnectionMultiplexer.Connect("master1,master2,master3,replica1,replica2,replica3,allowAdmin=true");
    

0 个答案:

没有答案