All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Commands supported by Redis Open-Source Edition

Last Updated:Oct 24, 2024

Redis Open-Source Edition provides instances of multiple editions and architectures. The Redis commands supported by the instances vary based on engine versions and architecture types. This topic describes the native Redis commands supported by Redis Open-Source Edition and the limits on these commands.

Supported commands

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

  • Enhanced Edition (Tair) DRAM-based instances that are compatible with Redis 7.0: Redis 7.0 and earlier. In addition, these instances support extended data modules of Tair.

  • Enhanced Edition (Tair) DRAM-based instances that are compatible with Redis 6.0: Redis 6.2 and earlier. In addition, these instances support extended data modules of Tair.

  • Enhanced Edition (Tair) DRAM-based instances that are compatible with Redis 5.0: Redis 5.0 and earlier. In addition, these instances support extended data modules of Tair.

  • Enhanced Edition (Tair) persistent memory-optimized instances: Redis 6.0 and earlier. These instances have limits on specific commands. For more information, see Limits on commands supported by Tair.

  • Enhanced Edition (Tair) ESSD/SSD-based instances: Redis 6.0 and earlier. These instances have limits on specific commands. For more information, see Limits on commands supported by Tair.

  • Community Edition instances: Redis 7.0, 6.0, 5.0, and 4.0. These instances provide backward compatibility.

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

  • ️️✔️ indicates that the command is supported.

  • ❌ indicates that the 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.

  • This topic focuses on the availability of commands for instances of the latest minor version. Some commands are 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 Release notes for minor versions of 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. Cluster instances and read/write splitting instances have limits on specific commands. For more information, see Limits on commands supported by cluster instances and read/write splitting instances.

Bitmaps

Command

Redis 2.8

Redis 4.0

Redis 5.0

Redis 6.0

Redis 7.0

BITCOUNT

✔️

✔️

✔️

✔️

✔️

BITFIELD

✔️

✔️

✔️

✔️

✔️

BITFIELD_RO

✔️

✔️

BITOP

✔️

✔️

✔️

✔️

✔️

BITPOS

✔️

✔️

✔️

✔️

✔️

GETBIT

✔️

✔️

✔️

✔️

✔️

SETBIT

✔️

✔️

✔️

✔️

✔️

Cluster management

  • 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 for ApsaraDB for Redis 5.0 instances of minor version 5.1.3 or later and ApsaraDB for Redis 6.0 instances of minor version 0.1.14 or later.

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

✔️

✔️

✔️

Connection management

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

✔️

✔️

✔️

✔️

✔️

Generic

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

✔️

✔️

✔️

✔️

Geospatial indices

Command

Redis 2.8

Redis 4.0

Redis 5.0

Redis 6.0

Redis 7.0

GEOADD

✔️

✔️

✔️

✔️

✔️

GEODIST

✔️

✔️

✔️

✔️

✔️

GEOHASH

✔️

✔️

✔️

✔️

✔️

GEOPOS

✔️

✔️

✔️

✔️

✔️

GEORADIUS

✔️

✔️

✔️

✔️

✔️

GEORADIUSBYMEMBER

✔️

✔️

✔️

✔️

✔️

GEOSEARCH

✔️

GEOSEARCHSTORE

✔️

Hashes

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

✔️

✔️

✔️

✔️

✔️

HyperLogLog

Command

Redis 2.8

Redis 4.0

Redis 5.0

Redis 6.0

Redis 7.0

PFADD

✔️

✔️

✔️

✔️

✔️

PFCOUNT

✔️

✔️

✔️

✔️

✔️

PFMERGE

✔️

✔️

✔️

✔️

✔️

Lists

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

✔️

✔️

✔️

✔️

✔️

Pub/Sub

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

✔️

✔️

✔️

✔️

✔️

Scripting and functions

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

✔️

✔️

✔️

✔️

✔️

Server management

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

✔️

✔️

✔️

✔️

✔️

Sentinel

Command

Redis 2.8

Redis 4.0

Redis 5.0

Redis 6.0

Redis 7.0

SENTINEL sentinels

✔️

✔️

✔️

✔️

SENTINEL get-master-addr-by-name

✔️

✔️

✔️

✔️

Sets

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

✔️

✔️

✔️

✔️

✔️

Sorted sets

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

✔️

✔️

✔️

✔️

✔️

Streams

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

✔️

✔️

✔️

Strings

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

✔️

✔️

✔️

✔️

✔️

Transactions

Command

Redis 2.8

Redis 4.0

Redis 5.0

Redis 6.0

Redis 7.0

DISCARD

✔️

✔️

✔️

✔️

✔️

EXEC

✔️

✔️

✔️

✔️

✔️

MULTI

✔️

✔️

✔️

✔️

✔️

UNWATCH

✔️

✔️

✔️

✔️

✔️

WATCH

✔️

✔️

✔️

✔️

✔️