支援和限制的 Valkey、Redis OSS和 Memcached 命令 - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

支援和限制的 Valkey、Redis OSS和 Memcached 命令

支援的 Valkey 和 Redis OSS命令

支援的 Valkey 和 Redis OSS命令

無伺服器快取支援下列 Valkey 和 Redis OSS命令。除了這些命令之外,還支援這些 支援的 Valkey 和 Redis OSS命令

點陣圖命令

  • BITCOUNT

    計算字串中設定的位元數 (母體計數)

    進一步了解

  • BITFIELD

    對字串執行任意 bitfield integer 操作。

    進一步了解

  • BITFIELD_RO

    對字串執行任意唯讀 bitfield integer 操作。

    進一步了解

  • 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叢集複本節點連線的讀寫查詢。

    進一步了解

連線管理命令

一般命令

地理空間命令

  • GEOADD

    將一或多個成員新增到地理空間索引。建立金鑰 (如不存在)。

    進一步了解

  • GEODIST

    傳回兩個地理空間索引成員之間的距離。

    進一步了解

  • GEOHASH

    從地理空間索引傳回成員作為 geohash 字串。

    進一步了解

  • GEOPOS

    從地理空間索引傳回成員的經度和緯度。

    進一步了解

  • GEORADIUS

    查詢距離某個座標一定距離內的成員的地理空間索引,並選擇性地儲存結果。

    進一步了解

  • GEORADIUS_RO

    傳回距離某個座標一定距離內的地理空間索引的成員。

    進一步了解

  • GEORADIUSBYMEMBER

    查詢距離某個成員一定距離內的成員的地理空間索引,並選擇性地儲存結果。

    進一步了解

  • GEORADIUSBYMEMBER_RO

    傳回距離某個成員一定距離內的地理空間索引的成員。

    進一步了解

  • GEOSEARCH

    查詢方形或圓形區域內成員的地理空間索引。

    進一步了解

  • GEOSEARCHSTORE

    查詢方形或圓形區域內成員的地理空間索引,並選擇性地儲存結果。

    進一步了解

雜湊命令

HyperLogLog 命令

  • PFADD

    將元素新增至 HyperLogLog 金鑰。建立索引鍵 (如不存在)。

    進一步了解

  • PFCOUNT

    傳回 HyperLogLog 鍵 (s) 觀察到的 set(s) 近似基數。

    進一步了解

  • 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

    傳回伺服器時間。

    進一步了解

設定命令

已排序集合命令

  • 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) 命令