10.redis之请求路由


  在集群模式下,redis接受任何键相关命令时首先计算键对应的槽,再根据槽找出对应的节点,如果节点是自身,则处理键命令,否则回复MOVED重定向错误,通知客户端请求正确的节点,这个过程称为MOVED重定向。

  鉴于上面的的请求的,在使用redis-cli时,可以加入-c参数支持自动重定向,redis-cli -c自动帮我们连接到正确的节点执行命令,这个过程是redis-cli内部维护,实质上是client接到MOVED信息之后再次发起请求

[root@redis ~]# redis-cli -p 6379

  127.0.0.1:6379> set key:test:2 value-2

  (error) MOVED 9252 127.0.0.1:6380 ##这种不支持重定向

[root@redis ~]# redis-cli -p 6379 -c  ## -c支持重定向
127.0.0.1:6379> set key:test:2 value-2
-> Redirected to slot [9252] located at 127.0.0.1:6380
OK
127.0.0.1:6380> keys *
1) "key:test:2"
127.0.0.1:6380>