Tair命令支持与限制
云原生内存数据库Tair支持多个引擎版本和架构类型,不同的引擎版本和架构类型对Redis命令的支持度有所不同。本文以原生Redis的相关命令为基准,介绍详细的命令支持情况和使用限制,为您的实例选型提供相关参考。
Tair命令限制
无限制。
命令族
不支持的命令
Keys(键)
RENAME、RENAMENX、MOVE
说明持久内存型自1.2.4版本开始提供MOVE与RENAME系列命令兼容模式,可通过pena_rename_move_compatible_enabled参数控制,具体操作请参见设置实例参数,之前版本不支持。
Server(数据库管理)
SWAPDB
Streams(流)
XACK、XADD、XCLAIM、XDEL、XGROUP、XINFO、XLEN、XPENDING、XRANGE、XREAD、XREADGROUP、XREVRANGE、XTRIM
说明持久内存型自1.2.3版本开始支持Streams(流),之前版本不支持。
在持久内存型1.2.4版之前,执行部分更新命令会使实例性能随着原始Key的容量增大而下降,当原始Key的容量为MB级别时,引擎内延迟会显著增加。涉及的命令为:SETRANGE、SETBIT、APPEND、BITFIELD相关更新命令。如有执行上述命令的需求,推荐升级实例至1.2.4版及以上,具体操作,请参见升级小版本。
命令族
不支持的命令
Geo(地理位置)
GEOADD、GEODIST、GEOHASH、GEOPOS、GEORADIUS、GEORADIUS_RO、GEORADIUSBYMEMBER、GEORADIUSBYMEMBER_RO
Hyperloglog
PFADD、PFDEBUG、PFCOUNT、PFMERGE、PFSELFTEST
Keys(键)
RENAME、RENAMENX、MOVE、OBJECT、SORT、TOUCH
Lists(列表)
BRPOP、BLPOP、BRPOPLPUSH
说明云盘(ESSD)型自2.3.2版本起正式支持上述Lists相关命令,建议升级至2.3.2版本后使用。
Scripting(Lua脚本)
EVAL、EVALSHA、SCRIPT DEBUG、SCRIPT EXISTS、SCRIPT FLUSH、SCRIPT KILL、SCRIPT LOAD
说明云盘(ESSD)型自2.3.1版本起正式支持Lua脚本相关命令,可通过txn-isolation-lock参数和#no_loose_lua-strict-mode参数共同控制,具体操作请参见设置实例参,建议升级至2.3.1版本后使用。
Strings(字符串)
BITCOUNT、BITFIELD、BITOP、BITPOS、GETBIT、SETBIT
说明云盘(ESSD)型自2.3.1版本开始支持上述Bitmap相关命令,之前版本不支持。
Server(数据库管理)
SWAPDB
Transactions(事务)
DISCARD、EXEC、MULTI、UNWATCH、WATCH
说明云盘(ESSD)型自2.3.1版本起正式支持事务相关命令,可通过txn-isolation-lock参数控制,具体操作请参见设置实例参数,建议升级至2.3.1版本后使用。
Streams(流)
XACK、XADD、XCLAIM、XDEL、XGROUP、XINFO、XLEN、XPENDING、XRANGE、XREAD、XREADGROUP、XREVRANGE、XTRIM
命令族
不支持的命令
Keys(键)
RENAME、RENAMENX、MOVE、SORT(STORE选项)
Lists(列表)
LINSERT、LREM
Server(数据库管理)
SWAPDB
Scripting(Lua脚本)
SCRIPT DEBUG、SCRIPT LOAD
Tair命令支持
Tair实例兼容多个原生Redis版本:
- Tair内存型(兼容Redis 6.0):完全兼容Redis社区6.2版本及以下版本接口,额外支持Tair扩展数据结构。
- Tair内存型(兼容Redis 5.0):完全兼容Redis社区5.0版本及以下版本接口,额外支持Tair扩展数据结构。
- Tair持久内存型:兼容Redis社区6.0版本及以下版本接口,部分限制请参见Tair命令支持与限制。
- Tair云盘(ESSD)型:兼容Redis社区4.0版本及以下版本接口,部分限制请参见Tair命令支持与限制。
为便于浏览和内容表达,本文的表格约定使用下述注释:
✔️表示支持该命令。
❌表示不支持该命令。
➖表示在原生Redis的该版本下,该命令尚未开始支持。例如原生Redis中,TOUCH命令在3.2.1及以上版本才开始支持,表格中的2.8版本下该命令即被标记为➖。
数字标记①:集群架构实例的在执行该命令时,需要开通直连访问并使用直连地址连接至实例,详情请参见使用直连地址访问Tair实例。通过Proxy节点的连接地址连接至实例时,也兼容支持该命令。
数字标记②:为兼容某些客户端框架,执行CONFIG SET命令时仅返回
OK
,不会真正地修改参数。本文以最新内核小版本进行介绍,部分命令可能在指定小版本后开放支持,详情请参见Tair小版本发布日志和Proxy小版本发布日志。
各命令族中的命令,如无特殊备注和说明,默认支持Tair实例的所有架构,即标准架构、集群架构及读写分离架构。集群架构与读写分离架构实例在使用某些特定的命令时存在一些限制,详情请参见集群架构与读写分离架构的命令限制。