性能增强型实例命令支持概览
云数据库Redis性能增强型实例集成了Tair的部分特性,除了支持云Redis社区版命令,性能增强型实例还支持部分新的命令。
新增命令类型
下表介绍了性能增强型实例相比原生Redis新增的各类命令,单击类型列的链接可以跳转到对应的命令详解文档,单击命令列表列的链接可以在本章节查看对应类型的命令列表。
类型 | 命令列表 | 说明 |
---|---|---|
String增强命令 | 参见表 2。 | 为了增强Redis String的功能而开发的命令,可以先确认value等于特定值,再替换或删除该value。 |
TairString命令 | 参见表 3。 | 性能增强型实例集成Tair后新增了TairString类型的数据结构,同时也支持了相关命令。 |
TairHash命令 | 参见表 4。 | 性能增强型实例集成Tair后新增了TairHash类型的数据结构,同时也支持了相关命令。 |
TairGIS命令 | 参见表 5。 | 性能增强型实例集成Tair后新增了TairGIS类型的数据结构,同时也支持了相关命令。 |
TairBloom命令 | 参见表 6。 | 性能增强型实例集成Tair后新增了TairBloom类型的数据结构,同时也支持了相关命令。 |
TairDoc命令 | 参见表 7。 | 性能增强型实例集成Tair后新增了TairDoc类型的数据结构,同时也支持了相关命令。 |
新增命令列表
下方各表列出了云Redis企业版性能增强实例相比原生Redis新增的所有命令,如需了解命令的详细用法,请单击表 1中的类型,跳转到相应的说明文档。
命令 | 语法 | 说明 |
---|---|---|
CAS | CAS <key> <oldvalue> <newvalue> | 当oldvalue和key的value相等时,修改value的值为newvalue;不相等则无效。
说明 CAS仅适用于操作Redis String类型的数据,如需对TairString做相同的操作,请使用EXCAS。
|
CAD | CAD <key> <value> | 当oldvalue和key的value相等时,删除该key;不相等则无效。
说明 CAD仅适用于操作Redis String类型的数据,如需对TairString做相同的操作,请使用EXCAD。
|
命令 | 语法 | 简介 |
---|---|---|
EXSET | EXSET <key> <value> [EX time] [PX time] [EXAT time] [PXAT time] [NX | XX] [VER version | ABS version] | 将value保存到key中。 |
EXGET | EXGET <key> | 返回TairString的value和version。 |
EXSETVER | EXSETVER <key> <version> | 直接对一个key设置version。 |
EXINCRBY | EXINCRBY <key> <num> [EX time] [PX time] [EXAT time] [EXAT time] [PXAT time] [NX | XX] [VER version | ABS version] [MIN minval] [MAX maxval] | 对Key做自增自减操作,num的范围为long。 |
EXINCRBYFLOAT | EXINCRBYFLOAT <key> <num> [EX time] [PX time] [EXAT time] [EXAT time] [PXAT time] [NX | XX] [VER version | ABS version] [MIN minval] [MAX maxval] | 对Key做自增自减操作,num的范围为double。 |
EXCAS | EXCAS <key> <newvalue> <version> | 指定version将value更新,当引擎中的version和指定的相同时才更新成功,不成功会返回旧的value和version。 |
EXCAD | EXCAD <key> <version> | 当指定version和引擎中version相等时候删除Key,否则失败。 |
命令 | 语法 | 说明 |
---|---|---|
EXHSET | EXHSET <key> <field> <value> [EX time] [EXAT time] [PX time] [PXAT time] [NX/XX] [VER/ABS version] | 向key指定的TairHash中插入一个field,如果TairHash不存在则自动创建一个,如果field已经存在则覆盖其值。 |
EXHSETNX | EXHSETNX <key> <field> <value> | 向key指定的TairHash中插入一个field,前提是这个field必须不存在,否则插入失败。 |
EXHMSET | EXHMSET <key> <field> <value> [field value...] | 同时向key指定的TairHash中插入多个field,如果TairHash不存在则自动创建一个,如果field已经存在则覆盖其值。该命令会触发对field的被动淘汰。 |
EXHMSETWITHOPTS | EXHMSETWITHOPTS exhashkey field1 val1 ver1 expire1 [field2 val2 ver2 expire2 ...] | 该命令会触发对field的被动淘汰。 |
EXHPEXPIREAT | EXHPEXPIREAT <key> <field> <milliseconds-timestamp> | 在key指定的TairHash中为一个field设置绝对过期时间,单位为毫秒。该命令会触发对field的被动淘汰。 |
EXHPEXPIRE | EXHPEXPIRE <key> <field> <milliseconds> | 在key指定的TairHash中为一个field设置相对过期时间,单位为毫秒。该命令会触发对field的被动淘汰。 |
EXHEXPIREAT | EXHEXPIREAT <key> <field> <timestamp> | 在key指定的TairHash中为一个field设置绝对过期时间,单位为秒。该命令会触发对field的被动淘汰。 |
EXHEXPIRE | EXHEXPIRE <key> <field> <seconds> | 在key指定的TairHash中为一个field设置相对过期时间,单位为秒。该命令会触发对field的被动淘汰。 |
EXHPTTL | EXHPTTL <key> <field> | 查看key指定的TairHash中一个field的剩余超时时间,单位为毫秒。该命令会触发对field的被动淘汰。 |
EXHTTL | EXHTTL <key> <field> | 查看key指定的TairHash中一个field的剩余超时时间,单位为秒。该命令会触发对field的被动淘汰。 |
EXHVER | EXHVER <key> <field> | 查看key指定的TairHash中一个field的当前版本号。该命令会触发对field的被动淘汰。该命令会触发对field的被动淘汰。 |
EXHSETVER | EXHSETVER <key> <field> <version> | 为key指定的TairHash中的一个field设置版本号。该命令会触发对field的被动淘汰。 |
EXHINCRBY | EXHINCRBY <key> <field> <value> [EX time] [EXAT time] [PX time] [PXAT time] | 将key指定的TairHash中一个field的值加上整型value。如果TairHash不存在则自动新创建一个,如果指定的field不存在,则在加之前先将field的值设置为0。同时还可以使用EX/EXAT/PX/PXAT为field设置超时时间。该命令会触发对field的被动淘汰。 |
EXHINCRBYFLOAT | EXHINCRBYFLOAT <key> <field> <value> [EX time] [EXAT time] [PX time] [PXAT time] | 将key指定的TairHash中一个field的值加上浮点型value。如果TairHash不存在则自动新创建一个,如果指定的field不存在,则在加之前先将field的值设置为0。同时还可以使用EX/EXAT/PX/PXAT为field设置超时时间。该命令会触发对field的被动淘汰。 |
EXHGET | EXHGET <key> <field> | 获取key指定的TairHash中一个field的值,如果TairHash不存在或者field不存在,则返回nil。该命令会触发对field的被动淘汰。 |
EXHGETWITHVER | EXHGETWITHVER <key> <field> | 同时获取key指定的TairHash中一个field的值和版本,如果TairHash不存在或者field不存在,则返回nil。该命令会触发对field的被动淘汰。 |
EXHMGET | EXHMGET <key> <field> [field ...] | 同时获取key指定的TairHash中多个field的值,如果TairHash不存在或者field不存在,则返回nil。该命令会触发对field的被动淘汰。 |
EXHMGETWITHVER | EXHMGETWITHVER <key> <field> [field ...] | 同时获取key指定的TairHash中多个field的值和版本,如果TairHash不存在或者field不存在,则返回nil。该命令会触发对field的被动淘汰。 |
EXHDEL | EXHDEL <key> <field> <field> <field> ... | 删除key指定的TairHash中的一个field,如果TairHash不存在或者field不存在则返回0 ,成功删除返回1。该命令会触发对field的被动淘汰。 |
EXHLEN | EXHLEN <key> | 获取key指定的TairHash中field个数,该命令不会触发对过期field的被动淘汰,也不会将其过滤掉,所以结果中可能包含已经过期但还未被删除的field。 |
EXHEXISTS | EXHEXISTS <key> <field> | 查询key指定的TairHash中是否存在对应的field。该命令会触发对field的被动淘汰。 |
EXHSTRLEN | EXHSTRLEN <key> <field> | 获取key指定的TairHash中一个field对应的value的长度。该命令会触发对field的被动淘汰。 |
EXHKEYS | EXHKEYS <key> | 获取key指定的TairHash中所有的field。该命令会过滤掉已经过期的field,但是为了尽快响应客户端,不会执行真正的删除操作。 |
EXHVALS | EXHVALS <key> | 获取key指定的TairHash中所有field的值 。该命令会过滤掉已经过期的field,但是为了尽快响应客户端,不会执行真正的删除操作。 |
EXHGETALL | EXHGETALL <key> | 获取key指定的TairHash中所有的field及其value。该命令会过滤掉已经过期的field,但是为了尽快响应客户端,不会执行真正的删除操作。 |
EXHSCAN | EXHSCAN <key> <op> <subkey> [MATCH pattern] [COUNT count] | 扫描key指定的TairHash。扫描的方式(使用op选项设置)可以为>、>=、<、<=、==、^、$。扫描的同时可以根据MATCH指定的pattern对subkey进行正则过滤,还可以使用COUNT对结果数目进行限制,如果不指定则默认值为10。该命令会过滤掉已经过期的field,但是为了尽快响应客户端,不会执行真正的删除操作。 |
命令 | 语法 | 说明 |
---|---|---|
GIS.ADD | GIS.ADD <area> <PolygonName> <POLYGON> [<PolygonName2> <POLYGON> ...] | 在area中添加一个名为PolygonName的多边形,使用WKT(Well-known text)描述。可同时添加多个多边形。
说明 WKT是一种文本标记语言,用于描述矢量几何对象、空间参照系统及空间参照系统之间的转换。
|
GIS.GET | GIS.GET <area> <PolygonName> | 在area中查找名为PolygonName的多边形的WKT信息。 |
GIS.DEL | GIS.DEL <area> <PolygonName> | 删除area下的名为PolygonName的多边形。 |
GIS.SEARCH | GIS.SEARCH <area> <POINT | LINESTRING | POLYGON> | 查找一个点/线/面所在的多边形,返回多边形的名称和WKT信息。 |
GIS.CONTAINS | GIS.CONTAINS <area> <POINT | LINESTRING | POLYGON> | 判断指定的点/线/面是否包含在area中的某个多边形内。 |
GIS.INTERSECTS | GIS.INTERSECTS <area> <POINT | LINESTRING | POLYGON> | 判断给定点/线/面和area中包含的多边形的相交情况。 |
命令 | 语法 | 说明 |
---|---|---|
BF.RESERVE | BF.RESERVE <key> <error_rate> <capacity> | 创建一个大小为capacity,错误率为error_rate的空的TairBloom。 |
BF.ADD | BF.ADD <key> <item> | 在key指定的TairBloom中添加一个元素item。 |
BF.MADD | BF.ADD <key> <item> [item...] | 在key指定的TairBloom中一次性添加多个元素。 |
BF.EXISTS | BF.EXISTS <key> <item> | 检查一个元素是否存在于key指定的TairBloom中。 |
BF.MEXISTS | BF.EXISTS <key> <item> [item...] | 同时检查多个元素是否存在于key指定的TairBloom中。 |
BF.INSERT | BF.INSERT <key> [CAPACITY cap] [ERROR error] [NOCREATE] ITEMS <item...> | 在key指定的TairBloom中一次性添加多个元素,添加时可以指定大小和错误率,且可以控制在TairBloom不存在的时候是否自动创建。 |
BF.DEBUG | BF.DEBUG <key> | 可以查看key指定的TairBloom内部信息,如当前层数和每一层的元素个数、错误率等。 |
命令 | 语法 | 说明 |
---|---|---|
JSON.SET | JSON.SET <key> <path> <json> [NX or XX] | 存储json的值在key的path中。对于不存在的key,path必须是root。对于已经存在的key,当path存在时,替换掉目前的json值。 |
JSON.GET | JSON.GET <key> [PATH] | 获取一个TairDoc在path中存储的JSON数据。 |
JSON.DEL | JSON.DEL <key> [path] | 删除path对应的JSON数据。如果未指定path,则删除key。不存在的key和不存在的path将会被忽略。 |
JSON.TYPE | JSON.TYPE <key> [path] | 获取path对应的值的类型。 |
JSON.NUMINCRBY | JSON.NUMINCRBY <key> [path] <value> | 将path对应的值增加value。path必须存在且path对应的值和value必须是都是int或double类型的值。 |
JSON.STRAPPEND | JSON.STRAPPEND <key> [path] <json-string> | 将json-string中的字符串添加到path对应的字符串类型的值中。如果未设置path,默认为root。 |
JSON.STRLEN | JSON.STRLEN <key> [path] | 获取path对应值的长度。如果未设置path,默认为root。 |
JSON.ARRAPPEND | JSON.ARRAPPEND <key> <path> <json> [<json> ...] | 将json插入到path对应的array最后,json可以是多个。 |
JSON.ARRPOP | JSON.ARRPOP <key> <path> [index] | 移除并返回path对应的数组中index位置的元素。 |
JSON.ARRINSERT | JSON.ARRINSERT <key> <path> <index> <json> [<json> ...] | 将json插入到path对应的的数组中,原有元素会往后移动。 |
JSON.ARRLEN | JSON.ARRLEN <key> [path] | 获取path对应数组的长度。 |
JSON.ARRTRIM | JSON.ARRTRIM <key> <path> <start> <stop> | 按照start和stop指定的范围修剪数组。 |
其它命令
除了本章节介绍的新命令以外,云Redis企业版性能增强型实例与社区版同架构实例有着相同的命令支持性。您可以通过命令查询导航找到各引擎版本和各种架构的Redis实例的命令支持信息。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论