All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Redis Open-Source Edition command support

Last Updated:Mar 30, 2026

Redis Open-Source Edition supports multiple engine versions and instance architectures. The commands available to you depend on which version and architecture your instance uses. Use this page as a reference to check command availability before migrating your application or selecting an instance type.

Supported instance types and compatibility

Instance type Compatible Redis versions Notes
Tair (Enterprise Edition) DRAM-based (Redis 7.0-compatible) Redis 7.0 and earlier Also supports Tair extended data structures
Tair (Enterprise Edition) DRAM-based (Redis 6.0-compatible) Redis 6.2 and earlier Also supports Tair extended data structures
Tair (Enterprise Edition) DRAM-based (Redis 5.0-compatible) Redis 5.0 and earlier Also supports Tair extended data structures
Tair (Enterprise Edition) persistent memory-optimized Redis 6.0 and earlier Some commands are limited. See Limits on commands supported by Tair (Enterprise Edition)
Tair (Enterprise Edition) ESSD/SSD-based Redis 6.0 and earlier Some commands are limited. See Limits on commands supported by Tair (Enterprise Edition)
Redis Open-Source Edition 5.0, 6.0, and 7.0 Backward-compatible

How to read the tables

The following symbols indicate command availability across versions:

Symbol Meaning
✔️ Supported
Not supported
Not available in the corresponding native Redis version
Cluster instances: requires direct connection mode. Also works via a proxy node endpoint. See Connect to an instance in direct connection mode
CONFIG SET returns only OK and does not modify any parameters, to ensure compatibility with client frameworks that inspect this command
Unless otherwise specified, all commands apply to standard, cluster, and read/write splitting instances. Some commands have additional restrictions on cluster and read/write splitting instances. See Limits on commands for cluster and read/write splitting instances.
This page covers the latest minor engine versions. Some commands are available only from specific minor versions. See Release notes for minor versions of Redis Open-Source Edition and Release notes for minor versions of proxy nodes.

Commands by category

Bitmap

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 7.0
BITCOUNT ✔️ ✔️ ✔️ ✔️ ✔️
BITFIELD ✔️ ✔️ ✔️ ✔️ ✔️
BITFIELD_RO ✔️ ✔️
BITOP ✔️ ✔️ ✔️ ✔️ ✔️
BITPOS ✔️ ✔️ ✔️ ✔️ ✔️
GETBIT ✔️ ✔️ ✔️ ✔️ ✔️
SETBIT ✔️ ✔️ ✔️ ✔️ ✔️

Cluster management

Commands in this category do not apply to standard architecture instances.

For compatibility, the following commands work when connecting through a proxy node endpoint: CLUSTER INFO, CLUSTER KEYSLOT, CLUSTER NODES, CLUSTER SLAVES, and CLUSTER SLOTS.

READONLY and READWRITE require minor version 5.1.3 or later on Redis 5.0, and minor version 0.1.14 or later on Redis 6.0. Earlier minor versions do not support these commands.

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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 Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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 Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 7.0
GEOADD ✔️ ✔️ ✔️ ✔️ ✔️
GEODIST ✔️ ✔️ ✔️ ✔️ ✔️
GEOHASH ✔️ ✔️ ✔️ ✔️ ✔️
GEOPOS ✔️ ✔️ ✔️ ✔️ ✔️
GEORADIUS ✔️ ✔️ ✔️ ✔️ ✔️
GEORADIUSBYMEMBER ✔️ ✔️ ✔️ ✔️ ✔️
GEOSEARCH ✔️
GEOSEARCHSTORE ✔️

Hash

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

HyperLogLog

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 7.0
PFADD ✔️ ✔️ ✔️ ✔️ ✔️
PFCOUNT ✔️ ✔️ ✔️ ✔️ ✔️
PFMERGE ✔️ ✔️ ✔️ ✔️ ✔️

Lists

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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 Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 7.0
PSUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️
PUBLISH ✔️ ✔️ ✔️ ✔️ ✔️
PUBSUB ✔️ ✔️ ✔️ ✔️ ✔️
PUBSUB HELP ✔️
PUBSUB SHARDCHANNELS ✔️
PUBSUB SHARDNUMSUB ✔️
PUNSUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️
SPUBLISH ✔️
SUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️
SSUBSCRIBE ✔️
SUNSUBSCRIBE ✔️
UNSUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️

Scripting and functions

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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

To deliver a managed service experience, ApsaraDB for Redis restricts certain commands that require elevated privileges or direct access to internal state. Persistence management (BGSAVE, BGREWRITEAOF, SAVE, LASTSAVE), replication topology (SLAVEOF, PSYNC, SYNC), low-level debugging (DEBUG OBJECT, DEBUG SEGFAULT, CONFIG REWRITE, SHUTDOWN), and cross-instance data movement (MIGRATE) are handled by the service and are not exposed to users. REPLICAOF is not supported from v5.0 onward (❌); it was not yet available in native Redis v2.8 and v4.0 (➖).

Most ACL commands are not supported. ACL WHOAMI is the exception: it is not yet available (➖) on versions 2.8, 4.0, and 5.0, returns ❌ on version 6.0, and ✔️ on version 7.0.

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 7.0
SENTINEL sentinels ✔️ ✔️ ✔️ ✔️
SENTINEL get-master-addr-by-name ✔️ ✔️ ✔️ ✔️

Set

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

Sorted set

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 7.0
XACK ✔️ ✔️ ✔️
XADD ✔️ ✔️ ✔️
XAUTOCLAIM ✔️
XCLAIM ✔️ ✔️ ✔️
XDEL ✔️ ✔️ ✔️
XGROUP ✔️ ✔️ ✔️
XGROUP CREATECONSUMER ✔️
XINFO ✔️ ✔️ ✔️
XLEN ✔️ ✔️ ✔️
XPENDING ✔️ ✔️ ✔️
XRANGE ✔️ ✔️ ✔️
XREAD ✔️ ✔️ ✔️
XREADGROUP ✔️ ✔️ ✔️
XREVRANGE ✔️ ✔️ ✔️
XTRIM ✔️ ✔️ ✔️

String

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 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

Command Version 2.8 Version 4.0 Version 5.0 Version 6.0 Version 7.0
DISCARD ✔️ ✔️ ✔️ ✔️ ✔️
EXEC ✔️ ✔️ ✔️ ✔️ ✔️
MULTI ✔️ ✔️ ✔️ ✔️ ✔️
UNWATCH ✔️ ✔️ ✔️ ✔️ ✔️
WATCH ✔️ ✔️ ✔️ ✔️ ✔️

What's next