全部产品
Search
文档中心

云原生内存数据库Tair:Tair命令支持与限制

更新时间:Jul 23, 2024

云原生内存数据库Tair支持多个引擎版本和架构类型,不同的引擎版本和架构类型对Redis命令的支持度有所不同。本文以原生Redis的相关命令为基准,介绍详细的命令支持情况和使用限制,为您的实例选型提供相关参考。

Tair命令限制

说明
  • 以下为实例最新小版本的兼容情况。若您的实例存在更多限制,请您升级实例小版本后重试,具体操作请参见升级小版本

  • 如需了解Release notes,请参见Tair小版本发布日志

  • 关于设置参数的具体操作,请参见设置实例参数

  • 内存型

    无限制。

  • 持久内存型

    命令族

    限制项

    Keys(键)

    MOVE与RENAME系列命令,需通过pena_rename_move_compatible_enabled参数开启兼容模式,才能执行。

    Server(数据库管理)

    不支持命令:SWAPDB。

  • 磁盘型

    命令族

    限制项

    Hyperloglog

    不支持命令:PFADD、PFDEBUG、PFCOUNT、PFMERGE、PFSELFTEST。

    Keys(键)

    • 不支持命令:MOVE、OBJECT、SORT、TOUCH。

    • Rename、RenameNX最大支持修改max-rename-commit-size大小(默认为16 MB)的Key。

    Server(数据库管理)

    • 不支持命令:SWAPDB。

    • 仅支持FLUSHDB命令同步执行模式,不支持异步执行模式。在生产环境中,请谨慎执行FLUSHDB命令。

    Streams(流)

    不支持命令:XACK、XADD、XCLAIM、XDEL、XGROUP、XINFO、XLEN、XPENDING、XRANGE、XREAD、XREADGROUP、XREVRANGE、XTRIM。

    Scripting(Lua脚本)

    Lua脚本相关命令,例如EVAL、EVALSHA、SCRIPT EXISTS等,需通过txn-isolation-lock参数和#no_loose_lua-strict-mode参数开启、控制。

    Transactions(事务)

    事务相关命令,例如DISCARD、EXEC、WATCH等,可通过txn-isolation-lock参数开启、控制。

Tair命令支持

Tair实例兼容多个原生Redis版本:

  • Tair内存型(兼容Redis 7.0):完全兼容Redis社区7.0版本及以下版本接口,额外支持Tair扩展数据结构。

  • Tair内存型(兼容Redis 6.0):完全兼容Redis社区6.2版本及以下版本接口,额外支持Tair扩展数据结构。

  • Tair内存型(兼容Redis 5.0):完全兼容Redis社区5.0版本及以下版本接口,额外支持Tair扩展数据结构。

  • Tair持久内存型:兼容Redis社区6.0版本及以下版本接口,部分限制请参见Tair命令支持与限制

  • Tair磁盘型:兼容Redis社区6.0版本及以下版本接口,部分限制请参见Tair命令支持与限制

为便于浏览和内容表达,本文的表格约定使用下述注释:

  • ✔️表示支持该命令。

  • ❌表示不支持该命令。

  • ➖表示在原生Redis的该版本下,该命令尚未开始支持。例如原生Redis中,TOUCH命令在3.2.1及以上版本才开始支持,表格中的2.8版本下该命令即被标记为➖。

  • 数字标记①:集群架构实例在执行该命令时,需要开通直连访问并使用直连地址连接至实例,详情请参见使用直连模式连接Tair。通过Proxy节点的连接地址连接至实例时,也兼容支持该命令。

  • 数字标记②:为兼容某些客户端框架,执行CONFIG SET命令时仅返回OK,不会真正地修改参数。

  • 本文以最新内核小版本进行介绍,部分命令可能在指定小版本后开放支持,详情请参见Tair小版本发布日志Proxy小版本发布日志

说明

各命令族中的命令,如无特殊备注和说明,默认支持Tair实例的所有架构,即标准架构、集群架构及读写分离架构。集群架构与读写分离架构实例在使用某些特定的命令时存在一些限制,详情请参见集群架构与读写分离架构的命令限制

Bitmap

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

BITCOUNT

✔️

✔️

✔️

✔️

✔️

BITFIELD

✔️

✔️

✔️

✔️

✔️

BITFIELD_RO

✔️

✔️

BITOP

✔️

✔️

✔️

✔️

✔️

BITPOS

✔️

✔️

✔️

✔️

✔️

GETBIT

✔️

✔️

✔️

✔️

✔️

SETBIT

✔️

✔️

✔️

✔️

✔️

Cluster management

  • Cluster命令族的命令不适用于标准架构。

  • 通过代理节点连接实例时,会兼容支持部分Cluster命令族的命令,具体为CLUSTER INFO、CLUSTER KEYSLOT、CLUSTER NODES、CLUSTER SLAVES、CLUSTER SLOTS。

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

CLUSTER ADDSLOTS

CLUSTER ADDSLOTSRANGE

CLUSTER BUMPEPOCH

CLUSTER COUNT-FAILURE-REPORTS

CLUSTER COUNTKEYSINSLOT ①

CLUSTER DELSLOTS

CLUSTER DELSLOTSRANGE

CLUSTER FAILOVER

CLUSTER FLUSHSLOTS

CLUSTER FORGET

CLUSTER GETKEYSINSLOT

➖️

CLUSTER INFO ①

✔️

✔️

✔️

✔️

✔️

CLUSTER KEYSLOT ①

✔️

✔️

✔️

✔️

✔️

CLUSTER LINKS

➖️

➖️

➖️

➖️

CLUSTER MEET

CLUSTER MYID

CLUSTER NODES ①

✔️

✔️

✔️

✔️

✔️

CLUSTER REPLICAS

CLUSTER REPLICATE

CLUSTER RESET

CLUSTER SAVECONFIG

CLUSTER SET-CONFIG-EPOCH

CLUSTER SETSLOT

CLUSTER SHARDS

✔️

CLUSTER SLAVES

CLUSTER SLOTS

✔️

✔️

✔️

✔️

✔️

READONLY

✔️️

✔️

✔️

READWRITE

✔️

✔️

✔️

Connection management

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

AUTH

✔️

✔️

✔️

✔️

✔️

CLIENT CACHING

✔️

✔️

CLIENT GETNAME

✔️

✔️

✔️

✔️

✔️

CLIENT GETREDIR

✔️

✔️

CLIENT ID

✔️

✔️

✔️

CLIENT INFO

✔️

CLIENT KILL

✔️

✔️

✔️

✔️

✔️

CLIENT LIST

✔️

✔️

✔️

✔️

✔️

CLIENT NO-EVICT

✔️

CLIENT PAUSE

CLIENT REPLY

CLIENT SETNAME

✔️

✔️

✔️

✔️

✔️

CLIENT TRACKING

✔️

✔️

CLIENT TRACKINGINFO

✔️

CLIENT UNBLOCK

✔️

✔️

✔️

CLIENT UNPAUSE

ECHO

✔️

✔️

✔️

✔️

✔️

HELLO

✔️

✔️

PING

✔️

✔️

✔️

✔️

✔️

QUIT

✔️

✔️

✔️

✔️

✔️

RESET

✔️

SELECT

✔️

✔️

✔️

✔️

✔️

Generic

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

COPY

✔️

DEL

✔️

✔️

✔️

✔️

✔️

DUMP

✔️

✔️

✔️

✔️

✔️

EXISTS

✔️

✔️

✔️

✔️

✔️

EXPIRE

✔️

✔️

✔️

✔️

✔️

EXPIREAT

✔️

✔️

✔️

✔️

✔️

EXPIRETIME

✔️

KEYS

✔️

✔️

✔️

✔️

✔️

MIGRATE

MOVE

✔️

✔️

✔️

✔️

✔️

OBJECT

✔️

✔️

✔️

✔️

✔️

OBJECT HELP

✔️

PERSIST

✔️

✔️

✔️

✔️

✔️

PEXPIRE

✔️

✔️

✔️

✔️

✔️

PEXPIREAT

✔️

✔️

✔️

✔️

✔️

PEXPIRETIME

✔️

PTTL

✔️

✔️

✔️

✔️

✔️

RANDOMKEY

✔️

✔️

✔️

✔️

✔️

RENAME

✔️

✔️

✔️

✔️

✔️

RENAMENX

✔️

✔️

✔️

✔️

✔️

RESTORE

✔️

✔️

✔️

✔️

✔️

SCAN

✔️

✔️

✔️

✔️

✔️

SORT

✔️

✔️

✔️

✔️

✔️

SORT_RO

✔️

TOUCH

✔️

✔️

✔️

✔️

TTL

✔️

✔️

✔️

✔️

✔️

TYPE

✔️

✔️

✔️

✔️

✔️

UNLINK

✔️

✔️

✔️

✔️

WAIT

✔️

✔️

✔️

✔️

Geospatial indices

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

GEOADD

✔️

✔️

✔️

✔️

✔️

GEODIST

✔️

✔️

✔️

✔️

✔️

GEOHASH

✔️

✔️

✔️

✔️

✔️

GEOPOS

✔️

✔️

✔️

✔️

✔️

GEORADIUS

✔️

✔️

✔️

✔️

✔️

GEORADIUSBYMEMBER

✔️

✔️

✔️

✔️

✔️

GEOSEARCH

✔️

GEOSEARCHSTORE

✔️

Hash

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

HDEL

✔️

✔️

✔️

✔️

✔️

HEXISTS

✔️

✔️

✔️

✔️

✔️

HGET

✔️

✔️

✔️

✔️

✔️

HGETALL

✔️

✔️

✔️

✔️

✔️

HINCRBY

✔️

✔️

✔️

✔️

✔️

HINCRBYFLOAT

✔️

✔️

✔️

✔️

✔️

HKEYS

✔️

✔️

✔️

✔️

✔️

HLEN

✔️

✔️

✔️

✔️

✔️

HMGET

✔️

✔️

✔️

✔️

✔️

HMSET

✔️

✔️

✔️

✔️

✔️

HRANDFIELD

✔️

HSCAN

✔️

✔️

✔️

✔️

✔️

HSET

✔️

✔️

✔️

✔️

✔️

HSETNX

✔️

✔️

✔️

✔️

✔️

HSTRLEN

✔️

✔️

✔️

✔️

✔️

HVALS

✔️

✔️

✔️

✔️

✔️

HyperLogLog

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

PFADD

✔️

✔️

✔️

✔️

✔️

PFCOUNT

✔️

✔️

✔️

✔️

✔️

PFMERGE

✔️

✔️

✔️

✔️

✔️

Lists

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

BLPOP

✔️

✔️

✔️

✔️

✔️

BLMOVE

✔️

BLMPOP

✔️

BRPOP

✔️

✔️

✔️

✔️

✔️

BRPOPLPUSH

✔️

✔️

✔️

✔️

✔️

LINDEX

✔️

✔️

✔️

✔️

✔️

LINSERT

✔️

✔️

✔️

✔️

✔️

LLEN

✔️

✔️

✔️

✔️

✔️

LMOVE

✔️

LMPOP

✔️

LPOP

✔️

✔️

✔️

✔️

✔️

LPOS

✔️

✔️

LPUSH

✔️

✔️

✔️

✔️

✔️

LPUSHX

✔️

✔️

✔️

✔️

✔️

LRANGE

✔️

✔️

✔️

✔️

✔️

LREM

✔️

✔️

✔️

✔️

✔️

LSET

✔️

✔️

✔️

✔️

✔️

LTRIM

✔️

✔️

✔️

✔️

✔️

RPOP

✔️

✔️

✔️

✔️

✔️

RPOPLPUSH

✔️

✔️

✔️

✔️

✔️

RPUSH

✔️

✔️

✔️

✔️

✔️

RPUSHX

✔️

✔️

✔️

✔️

✔️

Pub/Sub

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

PSUBSCRIBE

✔️

✔️

✔️

✔️

✔️

PUBLISH

✔️

✔️

✔️

✔️

✔️

PUBSUB

✔️

✔️

✔️

✔️

✔️

PUBSUB HELP

✔️

PUBSUB SHARDCHANNELS

✔️

PUBSUB SHARDNUMSUB

✔️

PUNSUBSCRIBE

✔️

✔️

✔️

✔️

✔️

SPUBLISH

✔️

SUBSCRIBE

✔️

✔️

✔️

✔️

✔️

SSUBSCRIBE

✔️

SUNSUBSCRIBE

✔️

UNSUBSCRIBE

✔️

✔️

✔️

✔️

✔️

Scripting and Functions

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

EVAL

✔️

✔️

✔️

✔️

✔️

EVAL_RO

✔️

EVALSHA

✔️

✔️

✔️

✔️

✔️

EVALSHA_RO

✔️

FCALL

✔️

FCALL_RO

✔️

FUNCTION DELETE

✔️

FUNCTION DUMP

✔️

FUNCTION FLUSH

✔️

FUNCTION HELP

✔️

FUNCTION KILL

✔️

FUNCTION LIST

✔️

FUNCTION LOAD

✔️

FUNCTION RESTORE

✔️

FUNCTION STATS

✔️

SCRIPT DEBUG

SCRIPT EXISTS

✔️

✔️

✔️

✔️

✔️

SCRIPT FLUSH

✔️

✔️

✔️

✔️

✔️

SCRIPT KILL

✔️

✔️

✔️

✔️

✔️

SCRIPT LOAD

✔️

✔️

✔️

✔️

✔️

Server management

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

ACL CAT

ACL DELUSER

ACL DRYRUN

ACL GENPASS

ACL GETUSER

ACL HELP

ACL LIST

ACL LOAD

ACL LOG

ACL SAVE

ACL SETUSER

ACL USERS

ACL WHOAMI

✔️

BGREWRITEAOF

BGSAVE

COMMAND

✔️

✔️

✔️

✔️

✔️

COMMAND COUNT

✔️

✔️

✔️

✔️

✔️

COMMAND DOCS

✔️

COMMAND GETKEYS

✔️

✔️

✔️

✔️

✔️

COMMAND GETKEYSANDFLAGS

✔️

COMMAND INFO

✔️

✔️

✔️

✔️

✔️

COMMAND LIST

✔️

CONFIG GET

✔️

✔️

✔️

✔️

CONFIG HELP

✔️

✔️

CONFIG RESETSTAT

✔️

✔️

✔️

✔️

CONFIG REWRITE

CONFIG SET ②

✔️

✔️

✔️

✔️

DBSIZE

✔️

✔️

✔️

✔️

✔️

DEBUG OBJECT

DEBUG SEGFAULT

FAILOVER

FLUSHALL

✔️

✔️

✔️

✔️

✔️

FLUSHDB

✔️

✔️

✔️

✔️

✔️

INFO

✔️

✔️

✔️

✔️

✔️

LASTSAVE

LATENCY DOCTOR

✔️

✔️

✔️

✔️

✔️

LATENCY GRAPH

✔️

✔️

✔️

✔️

✔️

LATENCY HELP

✔️

✔️

✔️

LATENCY HISTOGRAM

✔️

LATENCY HISTORY

✔️

✔️

✔️

✔️

✔️

LATENCY LATEST

✔️

✔️

✔️

✔️

✔️

LATENCY RESET

✔️

✔️

✔️

✔️

LOLWUT

✔️

✔️

✔️

MEMORY DOCTOR

✔️

✔️

✔️

✔️

MEMORY HELP

✔️

✔️

✔️

✔️

MEMORY MALLOC-STATS

✔️

✔️

✔️

✔️

MEMORY PURGE

✔️

✔️

✔️

✔️

MEMORY STATS

✔️

✔️

✔️

✔️

MEMORY USAGE

✔️

✔️

✔️

✔️

MODULE LIST

MODULE LOAD

MODULE LOADEX

MODULE UNLOAD

MONITOR

✔️

✔️

✔️

✔️

✔️

PSYNC

REPLICAOF

ROLE

✔️

✔️

✔️

✔️

SAVE

SHUTDOWN

SLAVEOF

SLOWLOG

✔️

✔️

✔️

✔️

✔️

SLOWLOG HELP

✔️

SLOWLOG RESET

SWAPDB

✔️

✔️

✔️

✔️

SYNC

TIME

✔️

✔️

✔️

✔️

✔️

Sentinel

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

SENTINEL sentinels

✔️

✔️

✔️

✔️

SENTINEL get-master-addr-by-name

✔️

✔️

✔️

✔️

Set

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

SADD

✔️

✔️

✔️

✔️

✔️

SCARD

✔️

✔️

✔️

✔️

✔️

SDIFF

✔️

✔️

✔️

✔️

✔️

SDIFFSTORE

✔️

✔️

✔️

✔️

✔️

SINTER

✔️

✔️

✔️

✔️

✔️

SINTERCARD

✔️

SINTERSTORE

✔️

✔️

✔️

✔️

✔️

SISMEMBER

✔️

✔️

✔️

✔️

✔️

SMEMBERS

✔️

✔️

✔️

✔️

✔️

SMISMEMBER

❌️

✔️

SMOVE

✔️

✔️

✔️

✔️

✔️

SPOP

✔️

✔️

✔️

✔️

✔️

SRANDMEMBER

✔️

✔️

✔️

✔️

✔️

SREM

✔️

✔️

✔️

✔️

✔️

SSCAN

✔️

✔️

✔️

✔️

✔️

SUNION

✔️

✔️

✔️

✔️

✔️

SUNIONSTORE

✔️

✔️

✔️

✔️

✔️

Sorted Set

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

BZMPOP

✔️

BZPOPMAX

✔️

✔️

✔️

BZPOPMIN

✔️

✔️

✔️

ZADD

✔️

✔️

✔️

✔️

✔️

ZCARD

✔️

✔️

✔️

✔️

✔️

ZCOUNT

✔️

✔️

✔️

✔️

✔️

ZDIFF

✔️

ZDIFFSTORE

✔️

ZINCRBY

✔️

✔️

✔️

✔️

✔️

ZINTER

✔️

ZINTERCARD

✔️

ZINTERSTORE

✔️

✔️

✔️

✔️

✔️

ZLEXCOUNT

✔️

✔️

✔️

✔️

✔️

ZMPOP

✔️

ZMSCORE

✔️

ZPOPMAX

✔️

✔️

✔️

ZPOPMIN

✔️

✔️

✔️

ZRANDMEMBER

✔️

ZRANGE

✔️

✔️

✔️

✔️

✔️

ZRANGEBYLEX

✔️

✔️

✔️

✔️

✔️

ZRANGEBYSCORE

✔️

✔️

✔️

✔️

✔️

ZRANGESTORE

✔️

ZRANK

✔️

✔️

✔️

✔️

✔️

ZREM

✔️

✔️

✔️

✔️

✔️

ZREMRANGEBYLEX

✔️

✔️

✔️

✔️

✔️

ZREMRANGEBYRANK

✔️

✔️

✔️

✔️

✔️

ZREMRANGEBYSCORE

✔️

✔️

✔️

✔️

✔️

ZREVRANGE

✔️

✔️

✔️

✔️

✔️

ZREVRANGEBYLEX

✔️

✔️

✔️

✔️

✔️

ZREVRANGEBYSCORE

✔️

✔️

✔️

✔️

✔️

ZREVRANK

✔️

✔️

✔️

✔️

✔️

ZSCAN

✔️

✔️

✔️

✔️

✔️

ZSCORE

✔️

✔️

✔️

✔️

✔️

ZUNION

✔️

ZUNIONSTORE

✔️

✔️

✔️

✔️

✔️

Stream

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

XACK

✔️

✔️

✔️

XADD

✔️

✔️

✔️

XAUTOCLAIM

✔️

XCLAIM

✔️

✔️

✔️

XDEL

✔️

✔️

✔️

XGROUP

✔️

✔️

✔️

XGROUP CREATECONSUMER

✔️

XINFO

✔️

✔️

✔️

XLEN

✔️

✔️

✔️

XPENDING

✔️

✔️

✔️

XRANGE

✔️

✔️

✔️

XREAD

✔️

✔️

✔️

XREADGROUP

✔️

✔️

✔️

XREVRANGE

✔️

✔️

✔️

XTRIM

✔️

✔️

✔️

String

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

APPEND

✔️

✔️

✔️

✔️

✔️

DECR

✔️

✔️

✔️

✔️

✔️

DECRBY

✔️

✔️

✔️

✔️

✔️

GET

✔️

✔️

✔️

✔️

✔️

GETDEL

✔️

GETEX

✔️

GETRANGE

✔️

✔️

✔️

✔️

✔️

GETSET

✔️

✔️

✔️

✔️

✔️

LCS

✔️

INCR

✔️

✔️

✔️

✔️

✔️

INCRBY

✔️

✔️

✔️

✔️

✔️

INCRBYFLOAT

✔️

✔️

✔️

✔️

✔️

MGET

✔️

✔️

✔️

✔️

✔️

MSET

✔️

✔️

✔️

✔️

✔️

MSETNX

✔️

✔️

✔️

✔️

✔️

PSETEX

✔️

✔️

✔️

✔️

✔️

SET

✔️

✔️

✔️

✔️

✔️

SETEX

✔️

✔️

✔️

✔️

✔️

SETNX

✔️

✔️

✔️

✔️

✔️

SETRANGE

✔️

✔️

✔️

✔️

✔️

STRALGO

✔️

STRLEN

✔️

✔️

✔️

✔️

✔️

Transactions

命令

2.8版本

4.0版本

5.0版本

6.0版本

7.0版本

DISCARD

✔️

✔️

✔️

✔️

✔️

EXEC

✔️

✔️

✔️

✔️

✔️

MULTI

✔️

✔️

✔️

✔️

✔️

UNWATCH

✔️

✔️

✔️

✔️

✔️

WATCH

✔️

✔️

✔️

✔️

✔️

相关文档