Redis不支持主复制。
在redis教程中我可以看到有一个配置,有6个节点,3个主服务器,3个从服务器,
任何人都可以告诉我这个配置的目的是什么(奴隶是故障转移,3个主人的目的是什么?)
我的要求是减少从应用服务器到Redis的连接数。所以我正在寻找一种可以指向多个redis节点的方法,所以如果我从redis节点1创建一个密钥,我可以从Redis节点2中删除该密钥。
有可能吗?
答案 0 :(得分:1)
首先,如果你在
中做的很少,你可以改变默认配置redis的-trib.rb
在函数def check_create_parameters
中。您可以设置一个主副本和一个从副本。
此配置的目的是容错。从站也可用于读取(READONLY)。在三个主服务器中,哈希值均匀分布,并且可以使用负载平衡算法重新分配和实际密钥。在节点之间分配密钥的可能算法的步骤是(由我测试并且它按预期工作):
此算法有助于最大限度地缩短响应时间。我的意思是:
使用三个主控器可以最小化响应时间。如果您的配置包含一个主设备,并且此主设备包含例如30000个#keys,则一次获得1000个密钥的响应时间为>来自具有2个主人的配置,每个主人拥有15000个。
如果您在master1中创建了一个密钥,那么如果您尝试从master2访问(读取)该密钥,您将收到MOVED错误。因此,解决方案是创建一个智能客户端,将哈希值映射到相应的节点。因此,只有在master2将请求重定向到正确的主服务器的情况下,才能从master2中删除密钥。
希望有所帮助。