Redis开源版命令支持

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

命令支持

云数据库 Tair(兼容 Redis)兼容多个原生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开源版:可选择7.0、6.0、5.0或4.0,完全兼容社区大版本并向下兼容。

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

  • ✔️表示支持该命令。

  • ❌表示不支持该命令。

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

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

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

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

说明

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

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。

  • Redis开源版5.0版自5.1.3版本、Redis开源版6.0版自0.1.14版本开始支持READONLY与READWRITE命令,之前版本不支持。

命令

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

✔️

✔️

✔️

✔️

✔️