标签
SQL Server
Redis
MySQL
其它
Oracle
外部链接
redis cluster 分布式集群之四(集群客户端路由)

1、moved重定向

image.png

情况一命中槽:直接返回

image.png

使用命令:cluster keyslot hello可以算出这个key对应的槽

情况二槽不命中:moved异常

image.png

客户端执行命令

redis-cli -c -p 7000 这里使用-c是指使用集群模式执行命令,如果没有是用-c而是直接使用redis-cli -p 7000的话,那么执行set php best这类命令时,如果没有命中槽,它就会报错,不会对moved异常进行重新发送的操作。

2、ASK重定向

image.png

ask异常重定向流程

image.png

moved和ask的对比

1、两者都是客户单重定向

2、moved:槽已经确定迁移了,不在节点中了

3、ask:槽还在迁移中即这个槽可能在target节点也可能在source节点

3、smart客端端原理:追求性能

3.1从集群中选一个可运行节点,使用cluster slots初始化槽和节点映射

3.2将cluster slots的结果映射到本地,为每个节点创建jedisPool(举例:Jedis客户端)

3.3准备执行命令

image.png

扫一扫手机看
点击排行
订阅号
...