阿里云redis-proxy命令支持

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 阿里云集群模式下redis-proxy的命令支持情况及简要说明

client命令

client命令目前支持client list, setname, getname, kill四个sub command.

client list

client list列出所有连接到该proxy的所有user connection,字段和redis内核一样,id, age, idle, addr, fd, name, db, multi, omem, cmd字段和redis内核表达的意思一样。sub, psub在proxy层没作区分,要么都为1,要么都为0。qbuf, qbuf-free, obl, oll字段目前没有意义。

client setname

用法和redis内核一致

client getname

用法和redis内核一致

client kill

kill命令目前支持两种形式:

client kill ip:port
client kill addr ip:port

sunion, sdiff, sinter, sunionstore, sdiffstore, sinterstore, zinterstore, zunionstore

集群规格中,这几个命令不再要求所有key必须在同一个slot中,使用和主从版没区别。

事务

事务之前没有使用watch命令并且事务中都是单key命令场景不再要求所有key必须在同一个slot中,使用方式和直连redis完全一致,其他场景要求事务中所有命令的所有key必须在同一个slot中。
多key命令列表:

DEL, SORT, MGET, MSET, BITOP, EXISTS, MSETNX, RENAME, RENAMENX, BLPOP, BRPOP, RPOPLPUSH, BRPOPLPUSH, SMOVE, SUNION, SINTER, SDIFF, SUNIONSTORE, SINTERSTORE, SDIFFSTORE, ZUNIONSTORE, ZINTERSTORE, PFMERGE, PFCOUNT

不允许在事务中使用的命令列表:

WATCH, UNWATCH, RANDOMKEY, KEYS, SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, SCRIPT, EVAL, EVALSHA, SCAN, ISCAN, DBSIZE, ADMINAUTH, AUTH, PING, ECHO, FLUSHDB, FLUSHALL, MONITOR, IMONITOR, RIMONITOR, INFO, IINFO, RIINFO, CONFIG, SLOWLOG, TIME, CLIENT

info命令

redis原生的info命令中最多可以带一个可选的section,如下所示:

info [section]

目前阿里云redis集群规格中,部分命令限制所有key必须在同一个slot中,proxy新增info key命令查询key所属的slot,方便用户查询某些key是否在同一个slot中。

monitor命令

最新版的redis-proxy已经支持monitor命令,他会把所有节点上的monitor结果汇聚再吐出来,集群模式也可以使用imonitor,读写分离可以使用rimonitor来对特定节点执行monitor。

scan命令

最新版的redis-proxy已经支持scan命令,集群模式下仍然可以使用iscan命令来扫描特定节点。
需要注意的是,低版本jedis(<2.4.0)scan的实现中使用了int作为cursor,直接可能会扫描不到所有的数据。

阿里云redis自研命令

阿里云redis-proxy针对集群规格扩展了若干命令,方便集群用户的使用。

info key user_key

用于查某个key所在的slot和db,使用格式相对原生info命令作了扩展,增加一个sub command,redis-proxy把key后面的参数按照内部路由规则计算该参数所属的slot和db节点。

127.0.0.1:6379> info key test_key
slot:15118 node_index:0

注意:1.线上旧版本可能出现info key显示出来的node index和实例拓扑图的node index不一致,最新版本已经回复。用户可以通过info key命令来判断某些key是否在同一个slot或者db节点中。2.info key中显示的node 是指集群规格下后端的物理节点,和select命令中的db不是一个概念。

iinfo命令

iinfo命令是阿里云redis-proxy新增命令,用法类似info,用于在指定的redis节点上执行info命令。用法:

iinfo db_idx [section]

直接执行info命令,redis-proxy做了一些处理(redis-proxy把info转发给所有redis节点,然后对返回的结果有些字段取最大值,有些取平均值),如果要了解某个redis的info可以使用iinfo命令,db_idx的范围是[0, nodecount),nodecount可以通过info命令获取或者从控制台上查看实例拓扑图。

riinfo命令

和iinfo命令类似也是阿里云redis-proxy新增命令,但使用在读写分离的模式下。用法中增加了一个readonly slave的idx,用于指定在第几个readonly slave上执行info命令。在读写分离集群中可以用来在指定readonly slave上执行info命令。如果在非读写分离集群中使用,会返回错误。
用法:

riinfo db_idx ro_slave_idx [section]

iscan

iscan命令是阿里云redis-proxy新增命令,集群模式下可以在指定的db节点上执行scan命令。在scan命令的基础上扩展了一个参数用于指定db_idx, db_idx的范围是[0, nodecount), nodecount可以通过info命令获取或者从控制台上查看实例拓扑图。

iscan db_idx cursor [MATCH pattern] [COUNT count]

imonitor

imonitor也是阿里云redis-proxy新增命令,和iinfo, iscan类似,在monitor的基础上新增一个参数指定monitor执行的db_idx,db_idx的范围是[0, nodecount), nodecount可以通过info命令获取或者从控制台上查看实例拓扑图。

imonitor db_idx

rimonitor

rimonitor是阿里云redis-proxy自研命令,和riinfo类似,用于读写分离场景下,在指定的shard里的指定只读从库上执行monitor命令。

rimonitor db_idx ro_slave_idx

imonitor和rimonitor自研命令请使用telnet执行

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
9天前
|
NoSQL Redis 数据库
Redis的全局命令及相关误区
Redis的全局命令及相关误区
21 0
|
17天前
|
NoSQL Redis 数据库
Redis中的常用命令有哪些?
Redis常用命令包括:PING测试连接,ECHO回显,SELECT切换数据库,QUIT关闭连接;KEYS查找key,EXISTS检查存在,DEL删除key,EXPIRE设置过期时间,TTL查看剩余生存时间,TYPE检测数据类型;STRING操作如SET/GET/MSET/MGET,INCR/DECR增减计数;HASH命令如HSET/HGET/HMSET/HMGET/HGETALL管理字段;LIST操作如LPUSH/RPUSH/LPOP/RPOP/LRANGE;
9 0
|
23天前
|
NoSQL Redis
Redis集群(六):集群常用命令及说明
Redis集群(六):集群常用命令及说明
15 0
|
2月前
|
缓存 NoSQL 数据处理
Redis事务悄然而至:命令的背后故事
Redis事务悄然而至:命令的背后故事
26 0
|
2月前
|
NoSQL Redis Docker
在docker中安装redis,并且阿里云服务器配置
在docker中安装redis,并且阿里云服务器配置
181 1
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
150 1
|
1月前
|
缓存 NoSQL Java
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
57 0
|
1月前
|
NoSQL Redis 索引
[Redis]——Redis命令手册set、list、sortedset
[Redis]——Redis命令手册set、list、sortedset
|
1月前
|
弹性计算 NoSQL 测试技术
倚天使用|Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
137501 3
|
2月前
|
存储 消息中间件 NoSQL
Redis相关命令详解及其原理
Redis相关命令详解及其原理
60 0

热门文章

最新文章