我正在设置一个简单的1 Master -N Slaves Redis集群(低写循环,高读计数)。如何设置在Redis网站上有很好的文档,但是,没有关于客户端(在我的例子中是Node.js服务器)如何处理集群的信息(或者我错过了它)。我的服务器是否需要打开两个Redis连接:一个用于主服务器(写入),另一个指向用于读取的从负载均衡器?Redis驱动程序是否会自动处理这一点,并将读操作发送到slaves,将写操作发送到Master?
发布于 2019-07-11 17:34:27
我发现的唯一方法是使用thunk-redis库。该库支持在不配置集群或使用前哨的情况下连接Redis master-slave。
您只需向客户端添加多个IP地址:
const client = redis.createClient(['127.0.0.1:6379', '127.0.0.1:6380'], {onlyMaster: false});
发布于 2017-05-09 23:59:43
不需要专门连接特定的实例,redis集群中的每个实例都有集群信息。因此,即使您连接到一个主服务器,您的客户端也将连接到集群中的任何实例。因此,如果您尝试更新存在于不同master(而不是您连接的master)中的密钥,redis客户端将通过使用服务器提供的重定向来处理它。
要回答您的第二个问题,您可以通过READONLY命令启用从设备读取
https://stackoverflow.com/questions/40220940
复制相似问题