更新时间:2024-07-22 GMT+08:00

Redis 5.0支持及禁用的命令

华为云DCS Redis 5.0基于开源5.0.9版本进行开发,兼容开源的协议和命令。本章节主要介绍DCS Redis 5.0命令的兼容性,包括支持命令列表,禁用命令列表。

DCS Redis缓存实例支持Redis的绝大部分命令,任何兼容Redis协议的客户端都可以访问DCS。

Redis 5.0支持的命令

  • 表1表2列举了Redis 5.0单机/主备/Cluster集群实例支持的命令。
  • 表3表4列举了Redis 5.0 proxy集群支持的命令。
  • 表5表6列举了Redis 5.0读写分离支持的命令。

各个命令的具体详细语法请前往Redis官方网站查看,例如您想了解SCAN命令的使用,可在Redis官方网站中搜索框中输入“SCAN”查询详细介绍。

  • Redis高版本的命令,在低版本中不被兼容。判断DCS Redis是否支持某个命令,可通过在Redis-cli执行该命令,如果得到(error)ERR unknown command ‘xxx’的提示,则说明不支持该命令。
  • Redis 5.0 Cluster版本集群实例使用pipeline时,要确保管道中的命令都能在同一分片执行。
表1 Redis 5.0 单机/主备/Cluster集群实例支持的命令清单1

Generic (Key)

String

Hash

List

Set

Sorted Set

Server

DEL

APPEND

HDEL

BLPOP

SADD

ZADD

FLUSHALL

DUMP

BITCOUNT

HEXISTS

BRPOP

SCARD

ZCARD

FLUSHDB

EXISTS

BITOP

HGET

BRPOPLRUSH

SDIFF

ZCOUNT

DBSIZE

EXPIRE

BITPOS

HGETALL

LINDEX

SDIFFSTORE

ZINCRBY

TIME

MOVE

DECR

HINCRBY

LINSERT

SINTER

ZRANGE

INFO

PERSIST

DECRBY

HINCRBYFLOAT

LLEN

SINTERSTORE

ZRANGEBYSCORE

KEYS

PTTL

GET

HKEYS

LPOP

SISMEMBER

ZRANK

CLIENT KILL

RANDOMKEY

GETRANGE

HMGET

LPUSHX

SMEMBERS

ZREMRANGEBYRANK

CLIENT LIST

RENAME

GETSET

HMSET

LRANGE

SMOVE

ZREMRANGEBYCORE

CLIENT GETNAME

RENAMENX

INCR

HSET

LREM

SPOP

ZREVRANGE

CLIENT SETNAME

RESTORE

INCRBY

HSETNX

LSET

SRANDMEMBER

ZREVRANGEBYSCORE

CONFIG GET

SORT

INCRBYFLOAT

HVALS

LTRIM

SREM

ZREVRANK

MONITOR

TTL

MGET

HSCAN

RPOP

SUNION

ZSCORE

SLOWLOG

TYPE

MSET

HSTRLEN

RPOPLPU

SUNIONSTORE

ZUNIONSTORE

ROLE

SCAN

MSETNX

HLEN

RPOPLPUSH

SSCAN

ZINTERSTORE

SWAPDB

OBJECT

PSETEX

-

RPUSH

-

ZSCAN

MEMORY

PEXPIREAT

SET

-

RPUSHX

-

ZRANGEBYLEX

CONFIG

PEXPIRE

SETBIT

-

LPUSH

-

ZLEXCOUNT

COMMAND

KEYS

SETEX

-

-

-

ZPOPMIN

-

-

SETNX

-

-

-

ZPOPMAX

-

-

SETRANGE

-

-

-

ZREMRANGEBYSCORE

-

-

STRLEN

-

-

-

ZREM

-

-

BITFIELD

-

-

-

-

-

表2 Redis 5.0 单机/主备/Cluster集群实例支持的命令清单2

HyperLoglog

Pub/Sub

Transactions

Connection

Scripting

Geo

Stream

PFADD

PSUBSCRIBE

DISCARD

AUTH

EVAL

GEOADD

XACK

PFCOUNT

PUBLISH

EXEC

ECHO

EVALSHA

GEOHASH

XADD

PFMERGE

PUBSUB

MULTI

PING

SCRIPT EXISTS

GEOPOS

XCLAIM

-

PUNSUBSCRIBE

UNWATCH

QUIT

SCRIPT FLUSH

GEODIST

XDEL

-

SUBSCRIBE

WATCH

SELECT(Cluster集群实例不支持)

SCRIPT KILL

GEORADIUS

XGROUP

-

UNSUBSCRIBE

-

-

SCRIPT LOAD

GEORADIUSBYMEMBER

XINFO

-

-

-

-

-

-

XLEN

-

-

-

-

-

-

XPENDING

-

-

-

-

-

-

XRANGE

-

-

-

-

-

-

XREAD

-

-

-

-

-

-

XREADGROUP

-

-

-

-

-

-

XREVRANGE

-

-

-

-

-

-

XTRIM

表3 Redis 5.0 proxy集群支持的命令清单1

Generic (Key)

String

Hash

List

Set

Sorted Set

Server

DEL

APPEND

HDEL

BLPOP

SADD

ZADD

FLUSHALL

(不支持FLUSHALL SYNC)

DUMP

BITCOUNT

HEXISTS

BRPOP

SCARD

ZCARD

FLUSHDB

EXISTS

BITOP

HGET

BRPOPLRUSH

SDIFF

ZCOUNT

DBSIZE

EXPIRE

BITPOS

HGETALL

LINDEX

SDIFFSTORE

ZINCRBY

TIME

MOVE

DECR

HINCRBY

LINSERT

SINTER

ZRANGE

INFO

PERSIST

DECRBY

HINCRBYFLOAT

LLEN

SINTERSTORE

ZRANGEBYSCORE

ROLE

PTTL

GET

HKEYS

LPOP

SISMEMBER

ZRANK

MEMORY

RENAME

GETRANGE

HMGET

LPUSHX

SMEMBERS

ZREMRANGEBYRANK

COMMAND

RENAMENX

GETSET

HMSET

LRANGE

SMOVE

ZREMRANGEBYCORE

COMMAND COUNT

RESTORE

INCR

HSET

LREM

SPOP

ZREVRANGE

COMMAND GETKEYS

SORT

INCRBY

HSETNX

LSET

SRANDMEMBER

ZREVRANGEBYSCORE

COMMAND INFO

TTL

INCRBYFLOAT

HVALS

LTRIM

SREM

ZREVRANK

CONFIG GET

TYPE

MGET

HSCAN

RPOP

SUNION

ZSCORE

CONFIG RESETSTAT

SCAN

MSET

HSTRLEN

RPOPLPUSH

SUNIONSTORE

ZUNIONSTORE

CONFIG REWRITE

OBJECT

MSETNX

HLEN

RPUSH

SSCAN

ZINTERSTORE

CONFIG SET

PEXPIRE

PSETEX

HKEYS

RPUSHX

-

ZSCAN

-

PEXPIREAT

SET

-

LPUSH

-

ZRANGEBYLEX

-

EXPIREAT

SETBIT

-

-

-

ZLEXCOUNT

-

KEYS

SETEX

-

-

-

ZREMRANGEBYSCORE

-

UNLINK

SETNX

-

-

-

ZREM

-

TOUCH

SETRANGE

-

-

-

ZREMRANGEBYLEX

-

RANDOMKEY

STRLEN

-

-

-

ZPOPMAX

-

-

BITFIELD

-

-

-

ZPOPMIN

-

-

GETBIT

-

-

-

BZPOPMAX

-

-

-

-

-

-

BZPOPMIN

-

-

-

-

-

-

ZREVRANGEBYLEX

-

表4 Redis 5.0 proxy集群支持的命令清单2

HyperLoglog

Pub/Sub

Transactions

Connection

Scripting

Geo

Cluster

PFADD

PSUBSCRIBE

DISCARD

AUTH

EVAL

GEOADD

CLUSTER INFO

PFCOUNT

PUBLISH

EXEC

ECHO

EVALSHA

GEOHASH

CLUSTER NODES

PFMERGE

PUBSUB

MULTI

PING

SCRIPT EXISTS

GEOPOS

CLUSTER SLOTS

-

PUNSUBSCRIBE

UNWATCH

QUIT

SCRIPT FLUSH

GEODIST

CLUSTER ADDSLOTS

-

SUBSCRIBE

WATCH

SELECT

SCRIPT KILL

GEORADIUS

ASKING

-

UNSUBSCRIBE

-

CLIENT KILL

SCRIPT LOAD

GEORADIUSBYMEMBER

READONLY

-

-

-

CLIENT LIST

SCRIPT DEBUG YES|SYNC|NO

GEOSEARCH

READWRITE

-

-

-

CLIENT GETNAME

-

GEOSEARCHSTORE

-

-

-

-

CLIENT SETNAME

-

-

-

上表中的Cluster类命令,仅2022/9/1日及之后创建的proxy集群实例支持。

表5 Redis 5.0读写分离支持的命令清单1

Generic (Key)

String

Hash

List

Set

Sorted Set

Server

DEL

APPEND

HDEL

BLPOP

SADD

ZADD

FLUSHALL

(不支持FLUSHALL SYNC)

DUMP

BITCOUNT

HEXISTS

BRPOP

SCARD

ZCARD

FLUSHDB

EXISTS

BITOP

HGET

BRPOPLRUSH

SDIFF

ZCOUNT

DBSIZE

EXPIRE

BITPOS

HGETALL

LINDEX

SDIFFSTORE

ZINCRBY

TIME

MOVE

DECR

HINCRBY

LINSERT

SINTER

ZRANGE

INFO

PERSIST

DECRBY

HINCRBYFLOAT

LLEN

SINTERSTORE

ZRANGEBYSCORE

MONITOR

PTTL

GET

HKEYS

LPOP

SISMEMBER

ZRANK

SLOWLOG

RANDOMKEY

GETRANGE

HMGET

LPUSHX

SMEMBERS

ZREMRANGEBYRANK

ROLE

RENAME

GETSET

HMSET

LRANGE

SMOVE

ZREMRANGEBYCORE

SWAPDB

RENAMENX

INCR

HSET

LREM

SPOP

ZREVRANGE

MEMORY

RESTORE

INCRBY

HSETNX

LSET

SRANDMEMBER

ZREVRANGEBYSCORE

COMMAND

SORT

INCRBYFLOAT

HVALS

LTRIM

SREM

ZREVRANK

COMMAND COUNT

TTL

MGET

HSCAN

RPOP

SUNION

ZSCORE

COMMAND GETKEYS

TYPE

MSET

HSTRLEN

RPOPLPUSH

SUNIONSTORE

ZUNIONSTORE

COMMAND INFO

SCAN

MSETNX

HLEN

RPUSH

SSCAN

ZINTERSTORE

CONFIG GET

OBJECT

PSETEX

-

RPUSHX

-

ZSCAN

CONFIG RESETSTAT

PEXPIRE

SET

-

LPUSH

-

ZRANGEBYLEX

CONFIG REWRITE

PEXPIREAT

SETBIT

-

-

-

ZLEXCOUNT

CONFIG SET

EXPIREAT

SETEX

-

-

-

ZREMRANGEBYSCORE

-

KEYS

SETNX

-

-

-

ZREM

-

UNLINK

SETRANGE

-

-

-

ZREMRANGEBYLEX

-

TOUCH

STRLEN

-

-

-

BZPOPMAX

-

-

BITFIELD

-

-

-

BZPOPMIN

-

-

GETBIT

-

-

-

ZPOPMAX

-

-

-

-

-

-

ZPOPMIN

-

-

-

-

-

-

ZREVRANGEBYLEX

-

表6 Redis 5.0读写分离支持的命令清单2

HyperLoglog

Pub/Sub

Transactions

Connection

Scripting

Geo

Stream

PFADD

PSUBSCRIBE

DISCARD

AUTH

EVAL

GEOADD

XACK

PFCOUNT

PUBLISH

EXEC

ECHO

EVALSHA

GEOHASH

XADD

PFMERGE

PUBSUB

MULTI

PING

SCRIPT EXISTS

GEOPOS

XCLAIM

-

PUNSUBSCRIBE

UNWATCH

QUIT

SCRIPT FLUSH

GEODIST

XDEL

-

SUBSCRIBE

WATCH

SELECT

SCRIPT KILL

GEORADIUS

XGROUP

-

UNSUBSCRIBE

-

CLIENT KILL

SCRIPT LOAD

GEORADIUSBYMEMBER

XINFO

-

-

-

CLIENT LIST

SCRIPT DEBUG YES|SYNC|NO

GEOSEARCH

XLEN

-

-

-

CLIENT GETNAME

-

GEOSEARCHSTORE

XPENDING

-

-

-

CLIENT SETNAME

-

-

XRANGE

-

-

-

-

-

-

XREAD

-

-

-

-

-

-

XREADGROUP

-

-

-

-

-

-

XREVRANGE

-

-

-

-

-

-

XTRIM

Redis 5.0禁用的命令

以下列出了Redis 5.0实例禁用的命令。

表7 Redis 5.0单机和主备禁用命令

Generic (Key)

Server

MIGRATE

SLAVEOF

-

SHUTDOWN

-

LASTSAVE

-

DEBUG相关类

-

SAVE

-

BGSAVE

-

BGREWRITEAOF

-

SYNC

-

PSYNC

表8 Redis 5.0 Proxy集群实例禁用命令

Generic (Key)

Server

MIGRATE

BGREWRITEAOF

MOVE

BGSAVE

WAIT

CLIENT相关命令

-

DEBUG OBJECT

-

DEBUG SEGFAULT

-

LASTSAVE

-

PSYNC

-

SAVE

-

SHUTDOWN

-

SLAVEOF

-

LATENCY相关命令

-

MODULE相关命令

-

LOLWUT

-

SWAPDB

-

REPLICAOF

-

SYNC

表9 Redis 5.0 Cluster集群禁用命令

Generic (Key)

Server

Cluster

MIGRATE

SLAVEOF

CLUSTER MEET

-

SHUTDOWN

CLUSTER FLUSHSLOTS

-

LASTSAVE

CLUSTER ADDSLOTS

-

DEBUG相关类

CLUSTER DELSLOTS

-

SAVE

CLUSTER SETSLOT

-

BGSAVE

CLUSTER BUMPEPOCH

-

BGREWRITEAOF

CLUSTER SAVECONFIG

-

SYNC

CLUSTER FORGET

-

PSYNC

CLUSTER REPLICATE

-

-

CLUSTER COUNT-FAILURE-REPORTS

-

-

CLUSTER FAILOVER

-

-

CLUSTER SET-CONFIG-EPOCH

-

-

CLUSTER RESET

表10 Redis 5.0读写分离禁用命令

Generic

Server

MIGRATE

BGREWRITEAOF

WAIT

BGSAVE

-

DEBUG OBJECT

-

DEBUG SEGFAULT

-

LASTSAVE

-

LOLWUT

-

MODULE LIST/LOAD/UNLOAD

-

PSYNC

-

REPLICAOF

-

SAVE

-

SHUTDOWN [NOSAVE|SAVE]

-

SLAVEOF

-

SWAPDB

-

SYNC

支持重命名的命令

表11 支持重命名的命令

支持重命名的命令

command、keys、flushdb、flushall、hgetall、scan、hscan、sscan、和zscan

Proxy集群实例还支持dbsize和dbstats命令重命名,其他命令暂时不支持。

重命名的方式

请参考命令重命名