本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
支持和限制了 Valkey、Redis OSS 和 Memcached 命令
支持的 Valkey 和 Redis 命令 OSS
支持的 Valkey 和 Redis 命令 OSS
无服务器缓存支持以下 Valkey 和 Redis OSS 命令。除了这些命令外,还支持这些 支持的 Valkey 和 Redis 命令 OSS 命令。
位图命令
集群管理命令
-
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 命令
列出命令
-
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,因此频道名称将被混合。
-
PUBLISH
将消息发布到频道。
-
PUBSUB CHANNELS
返回活跃频道。
-
PUBSUB NUMSUB
返回频道的订阅用户数量。
-
PUBSUB SHARDCHANNELS
返回活跃的分片频道。
-
PUBSUB SHARDNUMSUB
返回分片频道的订阅用户数量。
-
SPUBLISH
向分片频道发布消息
-
SSUBSCRIBE
侦听发布到分片频道的消息。
-
SUBSCRIBE
侦听发布到频道的消息。
-
SUNSUBSCRIBE
停止侦听发布到分片频道的消息。
-
UNSUBSCRIBE
停止侦听发布到频道的消息。
脚本命令
服务器管理命令
-
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
命令,仅支持stats
和stats reset
。其他变体将返回ERROR
lru / lru_crawler
-修改LRU和LRU爬虫设置watch
:监视 memcached 服务器日志verbosity
:配置服务器日志级别me
-不支持元调试 (me) 命令