本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
支援和限制的 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
從地理空間索引傳回成員作為 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) 命令