Redis集群使用问题:集群中有N个节点,我有一个记录key1-value1,保存在节点node1上,所以我所有的客户端对key1的访问都会集中请求到node1上。那么问题来了,如果对key1有100000次每秒的读请求并发,会在node1上排队,因为redis是单线程机制,必然导致性能下降。如何解决呢?
我想到了一个办法就是对node1建立多个redis slave实例,将100000个读请求均衡到多个slave上,这样就可以很好提高读写效率了。问题是,cluster模式中如何从slave读取数据呢?
现在用redis-cli链接,先发送“readonly”命令是可以读滴,但是在程序中怎么操作呢?
我已经知道了解决问题的办法了,对master节点采用多个slave的办法,直接读取slave中的数据,即可解决问题。slave要采用非集群模式即可。
怎么设置呢?我发现现在读取数据的时候,会redirected to 到某个节点去读取数据,如果那个节点崩了或者宕机了,那个数据不是读不到了?