All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Command support and limits for Tair (Enterprise Edition)

Last Updated:Mar 30, 2026

Tair (Enterprise Edition) supports native Redis commands across multiple engine versions and instance types. Support varies by instance type and Redis version. This topic describes supported commands and any restrictions by instance type and version.

Supported Redis versions by instance type

Instance type Compatible Redis versions Notes
DRAM-based (Redis 7.0) Redis 7.0 and earlier Also supports Tair extended data structures
DRAM-based (Redis 6.0) Redis 6.2 and earlier Also supports Tair extended data structures
DRAM-based (Redis 5.0) Redis 5.0 and earlier Also supports Tair extended data structures
Persistent memory-optimized Redis 6.0 and earlier Additional command restrictions apply
ESSD/SSD-based Redis 6.0 and earlier Additional command restrictions apply

For restrictions specific to persistent memory-optimized and ESSD/SSD-based instances, see Additional limits for persistent memory-optimized and ESSD/SSD-based instances.

Command support tables

The following tables show command availability by Redis version for the latest minor version of each instance type.

Legend:

  • ✔️ Supported

  • ❌ Not supported

  • ➖ Not applicable (command does not exist in this version)

Standard instances, cluster instances, and read/write splitting instances all support the command groups listed below by default. Cluster and read/write splitting instances have additional restrictions — see Limits on commands supported by cluster instances and read/write splitting instances.
Some commands are only available in later minor versions. Check Release notes for Tair minor versions and Release notes for minor versions of proxy nodes for version-specific details.

Bitmap

Command Redis 5.0 Redis 6.0 Redis 7.0
BITCOUNT ✔️ ✔️ ✔️
BITFIELD ✔️ ✔️ ✔️
BITFIELD_RO ✔️ ✔️
BITOP ✔️ ✔️ ✔️
BITPOS ✔️ ✔️ ✔️
GETBIT ✔️ ✔️ ✔️
SETBIT ✔️ ✔️ ✔️

Cluster management

Cluster management commands are not supported on standard instances. If you connect via a proxy node endpoint, the following commands are available: CLUSTER INFO, CLUSTER KEYSLOT, CLUSTER NODES, CLUSTER SLAVES, and CLUSTER SLOTS.

To run commands marked with ① on a cluster instance, either enable direct connection mode using a private endpoint, or connect via a proxy node endpoint.

Command Redis 5.0 Redis 6.0 Redis 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

Command Redis 5.0 Redis 6.0 Redis 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

Command Redis 5.0 Redis 6.0 Redis 7.0 Notes
COPY ✔️
DEL ✔️ ✔️ ✔️
DUMP ✔️ ✔️ ✔️
EXISTS ✔️ ✔️ ✔️
EXPIRE ✔️ ✔️ ✔️
EXPIREAT ✔️ ✔️ ✔️
EXPIRETIME ✔️
KEYS ✔️ ✔️ ✔️
MIGRATE
MOVE ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️ Persistent memory-optimized instances require enabling the pena_rename_move_compatible_enabled parameter
OBJECT ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
OBJECT HELP ✔️
PERSIST ✔️ ✔️ ✔️
PEXPIRE ✔️ ✔️ ✔️
PEXPIREAT ✔️ ✔️ ✔️
PEXPIRETIME ✔️
PTTL ✔️ ✔️ ✔️
RANDOMKEY ✔️ ✔️ ✔️
RENAME ✔️ ✔️ ✔️ Persistent memory-optimized instances require enabling the pena_rename_move_compatible_enabled parameter. ESSD/SSD-based instances cap the key size at 16 MB (configurable via max-rename-commit-size)
RENAMENX ✔️ ✔️ ✔️ Same restrictions as RENAME for persistent memory-optimized and ESSD/SSD-based instances
RESTORE ✔️ ✔️ ✔️
SCAN ✔️ ✔️ ✔️
SORT ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
SORT_RO ✔️
TOUCH ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
TTL ✔️ ✔️ ✔️
TYPE ✔️ ✔️ ✔️
UNLINK ✔️ ✔️ ✔️
WAIT ✔️ ✔️ ✔️

Geospatial indices

Command Redis 5.0 Redis 6.0 Redis 7.0
GEOADD ✔️ ✔️ ✔️
GEODIST ✔️ ✔️ ✔️
GEOHASH ✔️ ✔️ ✔️
GEOPOS ✔️ ✔️ ✔️
GEORADIUS ✔️ ✔️ ✔️
GEORADIUSBYMEMBER ✔️ ✔️ ✔️
GEOSEARCH ✔️
GEOSEARCHSTORE ✔️

Hash

Command Redis 5.0 Redis 6.0 Redis 7.0
HDEL ✔️ ✔️ ✔️
HEXISTS ✔️ ✔️ ✔️
HGET ✔️ ✔️ ✔️
HGETALL ✔️ ✔️ ✔️
HINCRBY ✔️ ✔️ ✔️
HINCRBYFLOAT ✔️ ✔️ ✔️
HKEYS ✔️ ✔️ ✔️
HLEN ✔️ ✔️ ✔️
HMGET ✔️ ✔️ ✔️
HMSET ✔️ ✔️ ✔️
HRANDFIELD ✔️
HSCAN ✔️ ✔️ ✔️
HSET ✔️ ✔️ ✔️
HSETNX ✔️ ✔️ ✔️
HSTRLEN ✔️ ✔️ ✔️
HVALS ✔️ ✔️ ✔️

HyperLogLog

HyperLogLog commands are not supported on ESSD/SSD-based instances running Redis 6.0. Use DRAM-based or persistent memory-optimized instances if your application requires HyperLogLog.

Command Redis 5.0 Redis 6.0 Redis 7.0
PFADD ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
PFCOUNT ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
PFMERGE ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️

Lists

Command Redis 5.0 Redis 6.0 Redis 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

Command Redis 5.0 Redis 6.0 Redis 7.0
PSUBSCRIBE ✔️ ✔️ ✔️
PUBLISH ✔️ ✔️ ✔️
PUBSUB ✔️ ✔️ ✔️
PUBSUB HELP ✔️
PUBSUB SHARDCHANNELS ✔️
PUBSUB SHARDNUMSUB ✔️
PUNSUBSCRIBE ✔️ ✔️ ✔️
SPUBLISH ✔️
SUBSCRIBE ✔️ ✔️ ✔️
SSUBSCRIBE ✔️
SUNSUBSCRIBE ✔️
UNSUBSCRIBE ✔️ ✔️ ✔️

Scripting and functions

On ESSD/SSD-based instances, Lua scripting commands (EVAL, EVALSHA, SCRIPT EXISTS) can be enabled or disabled using the txn-isolation-lock and #no_loose_lua-strict-mode parameters. For details, see Configure instance parameters.
Command Redis 5.0 Redis 6.0 Redis 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

As a managed service, Tair handles persistence, replication, and server lifecycle automatically. Commands that would interfere with these managed operations are not available. To modify instance parameters or trigger administrative operations, use the Tair console or call the corresponding API operations.

Command Redis 5.0 Redis 6.0 Redis 7.0 Notes
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 Managed by Tair automatically
BGSAVE Managed by Tair automatically
COMMAND ✔️ ✔️ ✔️
COMMAND COUNT ✔️ ✔️ ✔️
COMMAND DOCS ✔️
COMMAND GETKEYS ✔️ ✔️ ✔️
COMMAND GETKEYSANDFLAGS ✔️
COMMAND INFO ✔️ ✔️ ✔️
COMMAND LIST ✔️
CONFIG GET ✔️ ✔️ ✔️
CONFIG HELP ✔️ ✔️
CONFIG RESETSTAT ✔️ ✔️
CONFIG REWRITE
CONFIG SET ✔️ ✔️ Returns OK but does not apply changes. To modify parameters, use the console or API
DBSIZE ✔️ ✔️ ✔️
DEBUG OBJECT
DEBUG SEGFAULT
FAILOVER
FLUSHALL ✔️ ✔️ ✔️
FLUSHDB ✔️ ✔️ ✔️ ESSD/SSD-based instances support synchronous execution only; asynchronous mode is not available. Use with caution in production
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 Managed by Tair automatically
ROLE ✔️ ✔️ ✔️
SAVE Managed by Tair automatically
SHUTDOWN Managed by Tair automatically
SLAVEOF Managed by Tair automatically
SLOWLOG ✔️ ✔️ ✔️
SLOWLOG HELP ✔️
SLOWLOG RESET
SWAPDB ✔️ DRAM-based: ✔️ / Persistent memory-optimized and ESSD/SSD-based: ❌ ✔️
SYNC
TIME ✔️ ✔️ ✔️

Sentinel

Command Redis 5.0 Redis 6.0 Redis 7.0
SENTINEL sentinels ✔️ ✔️ ✔️
SENTINEL get-master-addr-by-name ✔️ ✔️ ✔️

Set

Command Redis 5.0 Redis 6.0 Redis 7.0
SADD ✔️ ✔️ ✔️
SCARD ✔️ ✔️ ✔️
SDIFF ✔️ ✔️ ✔️
SDIFFSTORE ✔️ ✔️ ✔️
SINTER ✔️ ✔️ ✔️
SINTERCARD ✔️
SINTERSTORE ✔️ ✔️ ✔️
SISMEMBER ✔️ ✔️ ✔️
SMEMBERS ✔️ ✔️ ✔️
SMISMEMBER ✔️ ✔️
SMOVE ✔️ ✔️ ✔️
SPOP ✔️ ✔️ ✔️
SRANDMEMBER ✔️ ✔️ ✔️
SREM ✔️ ✔️ ✔️
SSCAN ✔️ ✔️ ✔️
SUNION ✔️ ✔️ ✔️
SUNIONSTORE ✔️ ✔️ ✔️

Sorted set

Command Redis 5.0 Redis 6.0 Redis 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

Stream commands are not supported on ESSD/SSD-based instances running Redis 6.0. Use DRAM-based or persistent memory-optimized instances if your application uses Redis Streams.

Command Redis 5.0 Redis 6.0 Redis 7.0
XACK ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XADD ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XAUTOCLAIM ✔️
XCLAIM ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XDEL ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XGROUP ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XGROUP CREATECONSUMER ✔️
XINFO ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XLEN ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XPENDING ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XRANGE ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XREAD ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XREADGROUP ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XREVRANGE ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️
XTRIM ✔️ DRAM-based and persistent memory-optimized: ✔️ / ESSD/SSD-based: ❌ ✔️

String

Command Redis 5.0 Redis 6.0 Redis 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

On ESSD/SSD-based instances, transaction commands (DISCARD, EXEC, WATCH) can be enabled or disabled using the txn-isolation-lock parameter. For details, see Configure instance parameters.
Command Redis 5.0 Redis 6.0 Redis 7.0
DISCARD ✔️ ✔️ ✔️
EXEC ✔️ ✔️ ✔️
MULTI ✔️ ✔️ ✔️
UNWATCH ✔️ ✔️ ✔️
WATCH ✔️ ✔️ ✔️

Additional limits for persistent memory-optimized and ESSD/SSD-based instances

The following restrictions apply to the latest minor version. If your instance has stricter limits, update the minor version and try again. See Release notes for Tair minor versions for version-specific details.

Persistent memory-optimized instances

Command group Restriction
Keys MOVE and RENAME require enabling the pena_rename_move_compatible_enabled parameter
Server management SWAPDB is not supported

ESSD/SSD-based instances

Command group Restriction
HyperLogLog PFADD, PFCOUNT, and PFMERGE are not supported
Keys MOVE, OBJECT, SORT, and TOUCH are not supported
Keys RENAME and RENAMENX have a maximum key size limit of 16 MB, configurable via the max-rename-commit-size parameter
Server management SWAPDB is not supported
Server management FLUSHDB supports synchronous execution only. Asynchronous execution is not available. Use with caution in production environments
Stream All stream commands are not supported
Scripting Lua scripting commands (EVAL, EVALSHA, SCRIPT EXISTS) can be enabled or disabled via the txn-isolation-lock and #no_loose_lua-strict-mode parameters
Transactions DISCARD, EXEC, and WATCH can be enabled or disabled via the txn-isolation-lock parameter

What's next