Redis学习总结(七)--Redis集群之客户端访问
我们来试试进行数据的存储
127.0.0.1:7000> set name marklogzhu
OK
127.0.0.1:7000> get name
"marklogzhu"
127.0.0.1:7000> set name1 java
(error) MOVED 12933 127.0.0.1:7002
当我们设置 name1 java
竟然报错了,这是什么情况?
moved 重定向
这是因为 Redis 集群会计算存储的 key 对应的槽和节点,如果对应的节点不是当前节点的话就会报 moved 重定向
错误,如图所示:
ask 重定向
除了 moved
错误外,还有一个 ask
错误,它是指槽正在迁移过程中客户端进行访问所以需要重定向到新的节点上去。
redis-cli -c
那么集群的访问要怎么办呢,我们可以使用 redis-cli -c
命令来访问,它可防止moved和ask异常,会自动跳转到对应的 Redis 节点上去继续执行命令,我们来试试看:
[root@VM_0_15_centos redis4]# ./redis-cli -c -p 7003
127.0.0.1:7003> get name
-> Redirected to slot [5362] located at 127.0.0.1:7000
"marklogzhu"
127.0.0.1:7000>