1、moved重定向

情况一命中槽:直接返回

使用命令:cluster keyslot hello可以算出这个key对应的槽
情况二槽不命中:moved异常

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

ask异常重定向流程

moved和ask的对比
1、两者都是客户单重定向
2、moved:槽已经确定迁移了,不在节点中了
3、ask:槽还在迁移中即这个槽可能在target节点也可能在source节点
3、smart客端端原理:追求性能
3.1从集群中选一个可运行节点,使用cluster slots初始化槽和节点映射
3.2将cluster slots的结果映射到本地,为每个节点创建jedisPool(举例:Jedis客户端)
3.3准备执行命令
