All Products
Search
Document Center

ApsaraDB for Redis:Commands supported by ApsaraDB for Redis Community Edition

Last Updated:Aug 25, 2023

ApsaraDB for Redis Community Edition provides instances of multiple editions and architectures. The commands supported by the instances vary with their instance types. This topic describes the native Redis commands supported by ApsaraDB for Redis Community Edition and the limits of these commands.

Usage notes

Cluster and read/write splitting instances do not support the SWAPDB, CLIENT ID, or SORT (with the BY and GET options) command, and have limits on specific commands. For more information, see Limits on commands supported by cluster instances and Limits on commands supported by read/write splitting instances.

Supported commands

ApsaraDB for Redis is compatible with multiple open source Redis versions.

The following list describes the symbols that are used in the tables of this topic.

  • ✔️ indicates that this command is supported.

  • ❌ indicates that this command is not supported.

  • ➖ indicates that the command is not supported in open source Redis. For example, the TOUCH command is supported only by Redis 3.2.1 and later. This command is marked as ➖ in the Redis 2.8 column of the table.

  • Footnote ①: If you want to run the command on a cluster instance, you must enable the direct connection mode to use a private endpoint to connect to the instance. For more information, see Use a private endpoint to connect to a Tair instance. You can also run the command if you use the endpoint of a proxy node to connect to an instance.

  • Footnote ②: The CONFIG SET command returns only OK. The command does not modify the parameters. This ensures that the instance remains compatible with specific client frameworks.

  • In this topic, instances of the latest minor version are used. Part of the commands is supported only for instances of versions later than a specific version. For more information, see Release notes for minor versions of ApsaraDB for Redis Community Edition and ApsaraDB for Redis proxy nodes.

Note

By default, commands in all command groups are supported by standard instances, cluster instances, and read/write splitting instances. For more information about instance architectures, see Overview.

Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
BITCOUNT ✔️ ✔️ ✔️ ✔️ ✔️
BITFIELD ✔️ ✔️ ✔️ ✔️ ✔️
BITFIELD_RO ✔️ ✔️
BITOP ✔️ ✔️ ✔️ ✔️ ✔️
BITPOS ✔️ ✔️ ✔️ ✔️ ✔️
GETBIT ✔️ ✔️ ✔️ ✔️ ✔️
SETBIT ✔️ ✔️ ✔️ ✔️ ✔️
  • The commands in the cluster command group are not supported by standard instances.
  • However, if you use the endpoint of a proxy node to connect to an instance, specific commands in the cluster command group are supported. These commands include CLUSTER INFO, CLUSTER KEYSLOT, CLUSTER NODES, CLUSTER SLAVES, and CLUSTER SLOTS.
  • The READONLY and READWRITE commands are supported as of minor versions 0.1.14 of ApsaraDB for Redis 5.0 and 6.0.
Command Redis 2.8 Redis 4.0 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 ✔️ ✔️ ✔️

The CLIENT ID and HELLO commands are not supported by cluster instances in proxy mode or read/write splitting instances. To run these commands, use cluster instances in direct connection mode.

Command Redis 2.8 Redis 4.0 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 ✔️ ✔️ ✔️ ✔️ ✔️
  • The SORT (with the BY and GET options) command is not supported by cluster instances or read/write splitting instances.
  • The WAIT command is not supported by cluster instances in proxy mode or read/write splitting instances. To run this command, use cluster instances in direct connection mode.
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 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 ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
GEOADD ✔️ ✔️ ✔️ ✔️ ✔️
GEODIST ✔️ ✔️ ✔️ ✔️ ✔️
GEOHASH ✔️ ✔️ ✔️ ✔️ ✔️
GEOPOS ✔️ ✔️ ✔️ ✔️ ✔️
GEORADIUS ✔️ ✔️ ✔️ ✔️ ✔️
GEORADIUSBYMEMBER ✔️ ✔️ ✔️ ✔️ ✔️
GEOSEARCH ✔️
GEOSEARCHSTORE ✔️
Command Redis 2.8 Redis 4.0 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 ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
PFADD ✔️ ✔️ ✔️ ✔️ ✔️
PFCOUNT ✔️ ✔️ ✔️ ✔️ ✔️
PFMERGE ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
BLPOP ✔️ ✔️ ✔️ ✔️ ✔️
BLMOVE ✔️
BLMPOP ✔️
BRPOP ✔️ ✔️ ✔️ ✔️ ✔️
BRPOPLPUSH ✔️ ✔️ ✔️ ✔️ ✔️
LINDEX ✔️ ✔️ ✔️ ✔️ ✔️
LINSERT ✔️ ✔️ ✔️ ✔️ ✔️
LLEN ✔️ ✔️ ✔️ ✔️ ✔️
LMOVE ✔️
LMPOP ✔️
LPOP ✔️ ✔️ ✔️ ✔️ ✔️
LPUSH ✔️ ✔️ ✔️ ✔️ ✔️
LPUSHX ✔️ ✔️ ✔️ ✔️ ✔️
LRANGE ✔️ ✔️ ✔️ ✔️ ✔️
LREM ✔️ ✔️ ✔️ ✔️ ✔️
LSET ✔️ ✔️ ✔️ ✔️ ✔️
LTRIM ✔️ ✔️ ✔️ ✔️ ✔️
RPOP ✔️ ✔️ ✔️ ✔️ ✔️
RPOPLPUSH ✔️ ✔️ ✔️ ✔️ ✔️
RPUSH ✔️ ✔️ ✔️ ✔️ ✔️
RPUSHX ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
PSUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️
PUBLISH ✔️ ✔️ ✔️ ✔️ ✔️
PUBSUB ✔️ ✔️ ✔️ ✔️ ✔️
PUBSUB HELP ✔️
PUBSUB SHARDCHANNELS ✔️
PUBSUB SHARDNUMSUB ✔️
PUNSUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️
SPUBLISH ✔️
SUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️
SSUBSCRIBE ✔️
SUNSUBSCRIBE ✔️
UNSUBSCRIBE ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 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 ✔️ ✔️ ✔️ ✔️ ✔️

The SWAPDB command is not supported by cluster instances or read/write splitting instances.

Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 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 ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
SENTINEL sentinels ✔️ ✔️ ✔️ ✔️
SENTINEL get-master-addr-by-name ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 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 ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 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 ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
XACK ✔️ ✔️ ✔️
XADD ✔️ ✔️ ✔️
XAUTOCLAIM ✔️
XCLAIM ✔️ ✔️ ✔️
XDEL ✔️ ✔️ ✔️
XGROUP ✔️ ✔️ ✔️
XGROUP CREATECONSUMER ✔️
XINFO ✔️ ✔️ ✔️
XLEN ✔️ ✔️ ✔️
XPENDING ✔️ ✔️ ✔️
XRANGE ✔️ ✔️ ✔️
XREAD ✔️ ✔️ ✔️
XREADGROUP ✔️ ✔️ ✔️
XREVRANGE ✔️ ✔️ ✔️
XTRIM ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 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 ✔️ ✔️ ✔️ ✔️ ✔️
Command Redis 2.8 Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
DISCARD ✔️ ✔️ ✔️ ✔️ ✔️
EXEC ✔️ ✔️ ✔️ ✔️ ✔️
MULTI ✔️ ✔️ ✔️ ✔️ ✔️
UNWATCH ✔️ ✔️ ✔️ ✔️ ✔️
WATCH ✔️ ✔️ ✔️ ✔️ ✔️