redis cluster的请求重定向Redirect
阅读数:268 评论数:0
跳转到新版页面分类
应用软件
正文
在集群模式下,redis在接收到键任何命令时会先计算该键所在的槽,如果改键所在的槽位于当前节点,则直接执行命令,如果改键位于其它节点,则不执行该命令,返回重定向信息。
比如hello这个键槽866上,而曹866位于31节点上,假设在32上执行get hello ,则会返回重定向信息。
查找键所在的节点信息
127.0.0.1:6380> cluster keyslot hello
(integer) 866
使用-c参数来自动重定向
[root@kafka32 ~]# redis-cli -a password -p 6380 -c
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6380> get hello
-> Redirected to slot [866] located at 192.168.0.31:6380
"cluster"
has_tag
如果键中包含{},则集群在计算槽时会使用{}内的内容,而不是整个键,{}内的内容又称为hash_tag。它提供不同的键拥有相同的slot功能,通常用于redis IO优化。
[root@kafka32 ~]# redis-cli -a 1234@abcd -p 6380 -c
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
不加{},age和id会被放到不同的槽中
192.168.02.31:6380> set user:info:age 18
-> Redirected to slot [8325] located at 192.168.0.32:6380
OK
192.168.0.32:6380> set user:info:id "1234121"
-> Redirected to slot [15358] located at 192.168.0.33:6380
OK
加上{},所有的键都位于同一个槽中
192.168.0.32:6380> set user:{info}:id "232132"
OK
192.168.0.32:6380> set user:{info}:age 20
OK
192.168.0.32:6380> set user:{info}:name peter
OK
192.168.0.32:6380> set user:{info}:email "132132@163.com"
OK
相关推荐
一、redis-cli
redis-cli,这个命令将打开redis终端。输入ping命令,如果有pong响应,说明正常启动。
用法:redis-cli [OPTIONS] [cmd [arg [ar
protected-mode是为了禁止公网访问redis,加强redis安全的。它启用的条件,有两个:
(1)没有bind IP
(2)没有设置访问密码。
<
一、单机模式
1、优点
(1)部署简单
(2)成本低
(3)高性能,因为不需要同步数据
2、缺点
(1)可靠性差
二、主从复制模式
主从模式配置很简单,只需要在从节点配置主节点的ip和端口号即可。
1、sentinel不会存储数据。
2、客户端不会直接从redis中获取信息,而是从sentinel获取信息。
3、sentinel的默认端口是26379
<
redis-cli keys "s*" | xargs redis-cli del
另外还可以用-n指定操作的数据库编号
redis-cli -n 2 keys "s*" | xargs redis-
1、官方文档
The timeout will only be cleared by commands that delete or overwrite the contents of the key
一、作用
如果为空就设置值,并返回1。
如果存在(不为空)不进行操作,并返回0。
二、setnx
setnx是redis命令中的方法。
redis> SETNX mykey "Hello"
(inte