支持和限制了 Valkey、Redis OSS 和 Memcached 命令 - 亚马逊 ElastiCache
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

支持和限制了 Valkey、Redis OSS 和 Memcached 命令

支持的 Valkey 和 Redis 命令 OSS

支持的 Valkey 和 Redis 命令 OSS

无服务器缓存支持以下 Valkey 和 Redis OSS 命令。除了这些命令外,还支持这些 支持的 Valkey 和 Redis 命令 OSS 命令。

位图命令

  • BITCOUNT

    计算字符串中的设置位数(群体计数)。

    了解更多

  • BITFIELD

    对字符串执行任意位字段整数运算。

    了解更多

  • BITFIELD_RO

    对字符串执行任意只读位字段整数运算。

    了解更多

  • BITOP

    对多个字符串执行按位运算,并存储结果。

    了解更多

  • BITPOS

    查找字符串中的第一个设置(1)或清除(0)位。

    了解更多

  • GETBIT

    按偏移量返回位值。

    了解更多

  • SETBIT

    设置或清除字符串值中偏移量处的位。创建键(如果它不存在)。

    了解更多

集群管理命令

  • CLUSTER COUNTKEYSINSLOT

    返回哈希槽中的键数。

    了解更多

  • CLUSTER GETKEYSINSLOT

    返回哈希槽中的键名称。

    了解更多

  • CLUSTER INFO

    返回有关节点状态的信息。在无服务器缓存中,返回有关显示给客户端的单个虚拟“分片”的状态。

    了解更多

  • CLUSTER KEYSLOT

    返回键的哈希槽。

    了解更多

  • CLUSTER MYID

    返回节点的 ID。在无服务器缓存中,返回有关显示给客户端的单个虚拟“分片”的状态。

    了解更多

  • CLUSTER NODES

    返回节点的集群配置。在无服务器缓存中,返回有关显示给客户端的单个虚拟“分片”的状态。

    了解更多

  • CLUSTER REPLICAS

    列出主节点的副本节点。在无服务器缓存中,返回有关显示给客户端的单个虚拟“分片”的状态。

    了解更多

  • CLUSTER SHARDS

    返回集群槽与分片的映射。在无服务器缓存中,返回有关显示给客户端的单个虚拟“分片”的状态。

    了解更多

  • CLUSTER SLOTS

    返回集群槽与节点的映射。在无服务器缓存中,返回有关显示给客户端的单个虚拟“分片”的状态。

    了解更多

  • READONLY

    为与 Valkey 或 Redis OSS 集群副本节点的连接启用只读查询。

    了解更多

  • READWRITE

    为与 Valkey 或 Redis OSS 集群副本节点的连接启用读写查询。

    了解更多

连接管理命令

通用命令

  • COPY

    将键的值复制到新键中。

    了解更多

  • DEL

    删除一个或多个键。

    了解更多

  • DUMP

    返回存储在某个键上的值的序列化表示形式。

    了解更多

  • EXISTS

    确定是否存在一个或多个键。

    了解更多

  • EXPIRE

    以秒为单位设置键的过期时间。

    了解更多

  • EXPIREAT

    以 Unix 时间戳的格式设置键的过期时间。

    了解更多

  • EXPIRETIME

    以 Unix 时间戳的格式返回键的过期时间。

    了解更多

  • PERSIST

    移除键的过期时间。

    了解更多

  • PEXPIRE

    以毫秒为单位设置键的过期时间。

    了解更多

  • PEXPIREAT

    以 Unix 毫秒时间戳的格式设置键的过期时间。

    了解更多

  • PEXPIRETIME

    以 Unix 毫秒时间戳的格式返回键的过期时间。

    了解更多

  • PTTL

    以毫秒为单位返回键的过期时间。

    了解更多

  • RANDOMKEY

    从数据库中返回随机键名称。

    了解更多

  • RENAME

    重命名键并覆盖目标。

    了解更多

  • RENAMENX

    仅在目标键名称不存在时重命名键。

    了解更多

  • RESTORE

    根据值的序列化表示形式创建键。

    了解更多

  • SCAN

    遍历数据库中的键名。

    了解更多

  • SORT

    对列表、集或排序集中的元素进行排序,可以选择将结果存储起来。

    了解更多

  • SORT_RO

    返回列表、集或排序集的排序元素。

    了解更多

  • TOUCH

    返回在更新最后一次访问键的时间后,指定键中现有键的数量。

    了解更多

  • TTL

    以秒为单位返回键的过期时间。

    了解更多

  • TYPE

    确定存储在键中的值的类型。

    了解更多

  • UNLINK

    异步删除一个或多个键。

    了解更多

地理空间命令

  • GEOADD

    将一个或多个成员添加到地理空间索引。如果键不存在,则创建它。

    了解更多

  • GEODIST

    返回地理空间索引的两个成员之间的距离。

    了解更多

  • GEOHASH

    以地理哈希字符串的格式返回地理空间索引中的成员。

    了解更多

  • GEOPOS

    从地理空间索引返回成员的经度和纬度。

    了解更多

  • GEORADIUS

    查询与坐标相隔一定距离内的成员的地理空间索引,可以选择将结果存储起来。

    了解更多

  • GEORADIUS_RO

    从地理空间索引中返回与坐标相隔一定距离内的成员。

    了解更多

  • GEORADIUSBYMEMBER

    查询与某个成员相隔一定距离内的成员的地理空间索引,可以选择将结果存储起来。

    了解更多

  • GEORADIUSBYMEMBER_RO

    从地理空间索引中返回与成员相隔一定距离内的成员。

    了解更多

  • GEOSEARCH

    查询方框或圆圈区域内成员的地理空间索引。

    了解更多

  • GEOSEARCHSTORE

    查询方框或圆圈区域内成员的地理空间索引,可以选择将结果存储起来。

    了解更多

哈希命令

  • HDEL

    从哈希中删除一个或多个字段及其值。如果没有字段剩余,则删除哈希。

    了解更多

  • HEXISTS

    确定哈希中是否存在某个字段。

    了解更多

  • HGET

    返回哈希中某个字段的值。

    了解更多

  • HGETALL

    返回哈希中的所有字段和值。

    了解更多

  • HINCRBY

    将哈希中某个字段的整数值增加一个数字。如果该字段不存在,则使用 0 作为初始值。

    了解更多

  • HINCRBYFLOAT

    将某个字段的浮点值增加一个数字。如果该字段不存在,则使用 0 作为初始值。

    了解更多

  • HKEYS

    返回哈希中的所有字段。

    了解更多

  • HLEN

    返回哈希中的字段数。

    了解更多

  • HMGET

    返回哈希中的所有字段的值。

    了解更多

  • HMSET

    设置多个字段的值。

    了解更多

  • HRANDFIELD

    从哈希返回一个或多个随机字段。

    了解更多

  • HSCAN

    遍历哈希的字段和值。

    了解更多

  • HSET

    在哈希中创建或修改某个字段的值。

    了解更多

  • HSETNX

    仅当哈希中不存在某个字段时才设置该字段的值。

    了解更多

  • HSTRLEN

    返回某个字段的值的长度。

    了解更多

  • HVALS

    返回哈希中的所有值。

    了解更多

HyperLogLog 命令

  • PFADD

    向 HyperLogLog 密钥添加元素。创建键(如果它不存在)。

    了解更多

  • PFCOUNT

    返回键所观察到的集合的近似 HyperLogLog 基数。

    了解更多

  • PFMERGE

    将一个或多个 HyperLogLog 值合并到一个键中。

    了解更多

列出命令

  • BLMOVE

    从列表中弹出一个元素,将其推送到另一个列表并返回。否则将阻止,直到元素可用。如果最后一个元素已移除,则删除列表。

    了解更多

  • BLMPOP

    从多个列表之一弹出第一个元素。否则将阻止,直到元素可用。如果最后一个元素已弹出,则删除列表。

    了解更多

  • BLPOP

    删除并返回列表中的第一个元素。否则将阻止,直到元素可用。如果最后一个元素已弹出,则删除列表。

    了解更多

  • BRPOP

    删除并返回列表中的最后一个元素。否则将阻止,直到元素可用。如果最后一个元素已弹出,则删除列表。

    了解更多

  • BRPOPLPUSH

    从列表中弹出一个元素,将其推送到另一个列表并返回。否则将阻止,直到元素可用。如果最后一个元素已弹出,则删除列表。

    了解更多

  • LINDEX

    从列表中按元素索引返回该元素。

    了解更多

  • LINSERT

    在列表中的另一个元素之前或之后插入一个元素。

    了解更多

  • LLEN

    返回列表的长度。

    了解更多

  • LMOVE

    从一个列表中弹出一个元素并将其推送到另一个列表后,返回该元素。如果最后一个元素已移除,则删除列表。

    了解更多

  • LMPOP

    删除列表中的多个元素后,返回这些元素。如果最后一个元素已弹出,则删除列表。

    了解更多

  • LPOP

    删除列表中的第一个元素之后返回该元素。如果最后一个元素已弹出,则删除列表。

    了解更多

  • LPOS

    返回列表中匹配元素的索引。

    了解更多

  • LPUSH

    在列表前面追加一个或多个元素。创建键(如果它不存在)。

    了解更多

  • LPUSHX

    仅当列表存在时,在列表前面追加一个或多个元素。

    了解更多

  • LRANGE

    返回列表中元素的范围。

    了解更多

  • LREM

    从列表中删除元素。如果最后一个元素已删除,则删除列表。

    了解更多

  • LSET

    在列表中按元素索引设置元素的值。

    了解更多

  • LTRIM

    从列表的两端删除元素。如果所有元素都已去除,则删除该列表。

    了解更多

  • RPOP

    返回并删除列表中的最后一个元素。如果最后一个元素已弹出,则删除列表。

    了解更多

  • RPOPLPUSH

    在删除列表的最后一个元素并将其推送到另一个列表后,返回该元素。如果最后一个元素已弹出,则删除列表。

    了解更多

  • RPUSH

    在列表中附加一个或多个元素。创建键(如果它不存在)。

    了解更多

  • RPUSHX

    仅当列表存在时将元素附加到列表中。

    了解更多

Pub/Sub 命令

注意

PUBSUB命令内部使用分片PUBSUB,因此频道名称将被混合。

脚本命令

  • EVAL

    执行服务器端 Lua 脚本。

    了解更多

  • EVAL_RO

    执行只读服务器端 Lua 脚本。

    了解更多

  • EVALSHA

    通过摘要执行服务器端 Lua 脚本。SHA1

    了解更多

  • EVALSHA_RO

    通过摘要执行只读的服务器端 Lua 脚本。SHA1

    了解更多

  • SCRIPT EXISTS

    确定脚本缓存中是否存在服务器端 Lua 脚本。

    了解更多

  • SCRIPT FLUSH

    目前,无操作脚本缓存由该服务管理。

    了解更多

  • SCRIPT LOAD

    将服务器端 Lua 脚本加载到脚本缓存中。

    了解更多

服务器管理命令

  • ACL CAT

    列出ACL类别或类别内的命令。

    了解更多

  • ACL GENPASS

    生成可用于识别用户的伪随机安全密码。ACL

    了解更多

  • ACL GETUSER

    列出用户的ACL规则。

    了解更多

  • ACL LIST

    以ACL文件格式转储有效规则。

    了解更多

  • ACL USERS

    列出所有ACL用户。

    了解更多

  • ACL WHOAMI

    返回当前连接的经过身份验证的用户名。

    了解更多

  • DBSIZE

    返回当前所选数据库中的键数量。不保证此操作在所有槽中都是原子形式的。

    了解更多

  • COMMAND

    返回有关所有命令的详细信息。

    了解更多

  • COMMAND COUNT

    返回命令的计数。

    了解更多

  • COMMAND DOCS

    返回有关一个、多个或所有命令的已记录信息。

    了解更多

  • COMMAND GETKEYS

    从任意命令中提取键名称。

    了解更多

  • COMMAND GETKEYSANDFLAGS

    提取任意命令的键名称和访问标志。

    了解更多

  • COMMAND INFO

    返回有关一个、多个或所有命令的信息。

    了解更多

  • COMMAND LIST

    返回命令名称的列表。

    了解更多

  • FLUSHALL

    从所有数据库中删除所有键。不保证此操作在所有槽中都是原子形式的。

    了解更多

  • FLUSHDB

    从当前数据库中删除所有键。不保证此操作在所有槽中都是原子形式的。

    了解更多

  • INFO

    返回有关服务器的信息和统计信息。

    了解更多

  • LOLWUT

    显示电脑画和 Valkey 或 Redis 版本OSS。

    了解更多

  • ROLE

    返回复制角色。

    了解更多

  • TIME

    返回服务器时间。

    了解更多

集命令

  • SADD

    将一个或多个成员添加到集中。创建键(如果它不存在)。

    了解更多

  • SCARDT

    返回集中的成员数。

    了解更多

  • SDIFF

    返回多个集的差值。

    了解更多

  • SDIFFSTORE

    将多个集的差值存储在一个键中。

    了解更多

  • SINTER

    返回多个集的交集。

    了解更多

  • SINTERCARD

    返回多个集的交集的成员数。

    了解更多

  • SINTERSTORE

    将多个集的交集存储在一个键中。

    了解更多

  • SISMEMBER

    确定成员是否属于一个集。

    了解更多

  • SMEMBERS

    返回集的所有成员。

    了解更多

  • SMISMEMBER

    确定多个成员是否属于一个集。

    了解更多

  • SMOVE

    将成员从一个集移动到另一个集。

    了解更多

  • SPOP

    删除集中的一个或多个随机成员后,返回这些成员。如果最后一个成员已弹出,则删除集。

    了解更多

  • SRANDMEMBER

    从集中获取一个或多个随机成员

    了解更多

  • SREM

    从集中删除一个或多个成员。如果最后一个成员已删除,则删除集。

    了解更多

  • SSCAN

    遍历集的成员。

    了解更多

  • SUNION

    返回多个集的并集。

    了解更多

  • SUNIONSTORE

    将多个集的并集存储在一个密钥中。

    了解更多

排序集命令

  • 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

    将多个排序集的并集存储在一个键中。

    了解更多

流命令

  • XACK

    返回流的使用者组成员已成功确认的消息数量。

    了解更多

  • XADD

    在流中追加一条新消息。创建键(如果它不存在)。

    了解更多

  • XAUTOCLAIM

    更改或获取使用者组中某条消息的所有权,就像消息是以使用者组成员的身份传递一样。

    了解更多

  • XCLAIM

    更改或获取使用者组中某条消息的所有权,就像消息是传递给使用者组成员一样。

    了解更多

  • XDEL

    从流中删除消息后,返回删除的消息数。

    了解更多

  • XGROUP CREATE

    创建使用者组。

    了解更多

  • XGROUP CREATECONSUMER

    在使用者组中创建使用者。

    了解更多

  • XGROUP DELCONSUMER

    从使用者组中删除使用者。

    了解更多

  • XGROUP DESTROY

    销毁使用者组。

    了解更多

  • XGROUP SETID

    设置使用者组的上次传输 ID。

    了解更多

  • XINFO CONSUMERS

    返回使用者组中的使用者列表。

    了解更多

  • XINFO GROUPS

    返回流的使用者组列表。

    了解更多

  • XINFO STREAM

    返回有关流的信息。

    了解更多

  • XLEN

    返回流中的消息数。

    了解更多

  • XPENDING

    返回流使用者组的待处理条目列表中的信息和条目。

    了解更多

  • XRANGE

    返回来自一定范围内的数据流的消息IDs。

    了解更多

  • XREAD

    从多个流中返回IDs大于请求数量的消息。否则将阻止,直到消息可用。

    了解更多

  • XREADGROUP

    为组中的某个使用者返回流中的新消息或历史消息。否则将阻止,直到消息可用。

    了解更多

  • XREVRANGE

    以相反的顺序返回范围内的流IDs中的消息。

    了解更多

  • XTRIM

    从流的开头删除消息。

    了解更多

字符串命令

  • APPEND

    在键值后面附加一个字符串。创建键(如果它不存在)。

    了解更多

  • DECR

    将键的整数值减去 1。如果该键不存在,则使用 0 作为初始值。

    了解更多

  • DECRBY

    从键的整数值减去一个数字。如果该键不存在,则使用 0 作为初始值。

    了解更多

  • GET

    返回键的字符串值。

    了解更多

  • GETDEL

    删除键后,返回键的字符串值。

    了解更多

  • GETEX

    在设置键的过期时间后,返回其字符串值。

    了解更多

  • GETRANGE

    返回存储在键中的字符串的子字符串。

    了解更多

  • GETSET

    将键设置为新值后,返回键的上一个字符串值。

    了解更多

  • INCR

    将键的整数值增加 1。如果该键不存在,则使用 0 作为初始值。

    了解更多

  • INCRBY

    将键的整数值增加一个数字。如果该键不存在,则使用 0 作为初始值。

    了解更多

  • INCRBYFLOAT

    将键的浮点值增加一个数字。如果该键不存在,则使用 0 作为初始值。

    了解更多

  • LCS

    查找最长的公共子字符串。

    了解更多

  • MGET

    以原子方式返回一个或多个键的字符串值。

    了解更多

  • MSET

    以原子方式创建或修改一个或多个键的字符串值。

    了解更多

  • MSETNX

    仅当所有键不存在时,以原子方式修改一个或多个键的字符串值。

    了解更多

  • PSETEX

    设置键的字符串值和过期时间,以毫秒为单位。如果键不存在,则创建它。

    了解更多

  • SET

    设置键的字符串值,忽略其类型。如果键不存在,则创建它。

    了解更多

  • SETEX

    设置键的字符串值和过期时间。创建键(如果它不存在)。

    了解更多

  • SETNX

    仅在某个键不存在时才设置该键的字符串值。

    了解更多

  • SETRANGE

    按偏移量用字符串值的一部分覆盖另一个部分。创建键(如果它不存在)。

    了解更多

  • STRLEN

    返回字符串值的长度。

    了解更多

  • SUBSTR

    返回字符串值中的子字符串。

    了解更多

事务命令

受限的 Valkey 和 Redis 命令 OSS

为了提供托管服务体验, ElastiCache 限制对某些需要高级权限的缓存引擎特定命令的访问权限。对于运行 Redis 的缓存,以下命令不可用:

  • acl setuser

  • acl load

  • acl save

  • acl deluser

  • bgrewriteaof

  • bgsave

  • cluster addslot

  • cluster addslotsrange

  • cluster bumpepoch

  • cluster delslot

  • cluster delslotsrange

  • cluster failover

  • cluster flushslots

  • cluster forget

  • cluster links

  • cluster meet

  • cluster setslot

  • config

  • debug

  • migrate

  • psync

  • replicaof

  • save

  • slaveof

  • shutdown

  • sync

此外,以下命令不可用于无服务器缓存:

  • acl log

  • client caching

  • client getredir

  • client id

  • client info

  • client kill

  • client list

  • client no-evict

  • client pause

  • client tracking

  • client trackinginfo

  • client unblock

  • client unpause

  • cluster count-failure-reports

  • fcall

  • fcall_ro

  • function

  • function delete

  • function dump

  • function flush

  • function help

  • function kill

  • function list

  • function load

  • function restore

  • function stats

  • keys

  • lastsave

  • latency

  • latency doctor

  • latency graph

  • latency help

  • latency histogram

  • latency history

  • latency latest

  • latency reset

  • memory

  • memory doctor

  • memory help

  • memory malloc-stats

  • memory purge

  • memory stats

  • memory usage

  • monitor

  • move

  • object

  • object encoding

  • object freq

  • object help

  • object idletime

  • object refcount

  • pfdebug

  • pfselftest

  • psubscribe

  • pubsub numpat

  • punsubscribe

  • script kill

  • slowlog

  • slowlog get

  • slowlog help

  • slowlog len

  • slowlog reset

  • swapdb

  • unwatch

  • wait

  • watch

支持的 Memcached 命令

ElastiCache Serverless for Memcached 支持开源 memcached 1.6 中的所有 memcached 命令,但以下命令除外:

  • 需要客户端连接TLS,因此不支持UDP协议。

  • 不支持二进制协议,因为在 memcached 1.6 中已正式弃用该协议。

  • GET/GETS 命令限制为 16KB,以避免可能通过提取大量键来对服务器进行 DoS 攻击。

  • 延迟的 flush_all 命令将被拒绝并返回 CLIENT_ERROR

  • 配置引擎的命令,或者显示有关引擎状态或日志的内部信息的命令均不受支持,例如:

    • 对于 STATS 命令,仅支持 statsstats reset。其他变体将返回 ERROR

    • lru / lru_crawler-修改LRU和LRU爬虫设置

    • watch:监视 memcached 服务器日志

    • verbosity:配置服务器日志级别

    • me-不支持元调试 (me) 命令