

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

# 支援和限制的 Valkey、Memcached 和 Redis OSS 命令
<a name="SupportedCommands"></a>

## 支援的 Valkey 和 Redis OSS 命令
<a name="SupportedCommandsRedis"></a>

**支援的 Valkey 和 Redis OSS 命令**

無伺服器快取支援下列 Valkey 和 Redis OSS 命令。除了這些命令之外，還支援這些 [支援的 Valkey 和 Redis OSS 命令JSON 命令](json-list-commands.md)。

如需 Bloom Filter 命令的詳細資訊，請參閱 [Bloom 篩選條件命令](BloomFilters.md#SupportedCommandsBloom)

**點陣圖命令**
+ `BITCOUNT`

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

  [進一步了解](https://valkey.io/commands/bitcount/)
+ `BITFIELD`

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

  [進一步了解](https://valkey.io/commands/bitfield/)
+ `BITFIELD_RO`

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

  [進一步了解](https://valkey.io/commands/bitfield_ro/)
+ `BITOP`

  對多個字串執行位元操作，並且儲存結果。

  [進一步了解](https://valkey.io/commands/bitop/)
+ `BITPOS`

  尋找第一個設定 (1) 或清除 (0) 位元。

  [進一步了解](https://valkey.io/commands/bitpos/)
+ `GETBIT`

  依偏移傳回位元值。

  [進一步了解](https://valkey.io/commands/getbit/)
+ `SETBIT`

  設定或清除字串值偏移處的位元。建立金鑰 (如不存在)。

  [進一步了解](https://valkey.io/commands/setbit/)

**叢集管理命令**
+ `CLUSTER COUNTKEYSINSLOT`

  傳回雜湊位置中的金鑰數目。

  [進一步了解](https://valkey.io/commands/cluster-countkeysinslot/)
+ `CLUSTER GETKEYSINSLOT`

  傳回雜湊位置中的金鑰名稱。

  [進一步了解](https://valkey.io/commands/cluster-getkeysinslot/)
+ `CLUSTER INFO`

  傳回節點狀態的相關資訊。在無伺服器快取中，傳回已對用戶端公開的單一虛擬「碎片」的狀態。

  [進一步了解](https://valkey.io/commands/cluster-info/)
+ `CLUSTER KEYSLOT`

  傳回金鑰的雜湊位置。

  [進一步了解](https://valkey.io/commands/cluster-keyslot/)
+ `CLUSTER MYID`

  傳回節點的 ID。在無伺服器快取中，傳回已對用戶端公開的單一虛擬「碎片」的狀態。

  [進一步了解](https://valkey.io/commands/cluster-myid/)
+ `CLUSTER NODES`

  傳回節點的叢集組態。在無伺服器快取中，傳回已對用戶端公開的單一虛擬「碎片」的狀態。

  [進一步了解](https://valkey.io/commands/cluster-nodes/)
+ `CLUSTER REPLICAS`

  列出主節點的複本節點。在無伺服器快取中，傳回已對用戶端公開的單一虛擬「碎片」的狀態。

  [進一步了解](https://valkey.io/commands/cluster-replicas/)
+ `CLUSTER SHARDS`

  傳回叢集位置對碎片的映射。在無伺服器快取中，傳回已對用戶端公開的單一虛擬「碎片」的狀態。

  [進一步了解](https://valkey.io/commands/cluster-shards/)
+ `CLUSTER SLOTS`

  傳回叢集位置對節點的映射。在無伺服器快取中，傳回已對用戶端公開的單一虛擬「碎片」的狀態。

  [進一步了解](https://valkey.io/commands/cluster-slots/)
+ `CLUSTER SLOT-STATS`

  允許追蹤每個槽的金鑰計數、CPU 使用率、傳入的網路位元組和傳出的網路位元組指標。

  [進一步了解](https://valkey.io/commands/cluster-slot-stats/)
+ `READONLY`

  啟用對 Valkey 或 Redis OSS 叢集複本節點連線的唯讀查詢。

  [進一步了解](https://valkey.io/commands/readonly/)
+ `READWRITE`

  啟用對 Valkey 或 Redis OSS 叢集複本節點連線的讀寫查詢。

  [進一步了解](https://valkey.io/commands/readwrite/)
+ `SCRIPT SHOW`

  傳回指令碼快取中指令碼的原始來源碼。

  [進一步了解](https://valkey.io/commands/script-show/)

**連線管理命令**
+ `AUTH`

  驗證連線。

  [進一步了解](https://valkey.io/commands/auth/)
+ `CLIENT GETNAME`

  傳回連線的名稱。

  [進一步了解](https://valkey.io/commands/client-getname/)
+ `CLIENT REPLY`

  指示伺服器是否回覆命令。

  [進一步了解](https://valkey.io/commands/client-reply/)
+ `CLIENT SETNAME`

  設定連線名稱。

  [進一步了解](https://valkey.io/commands/client-setname/)
+ `ECHO`

  傳回所指定的字串。

  [進一步了解](https://valkey.io/commands/echo/)
+ `HELLO`

  使用 Valkey 或 Redis OSS 伺服器交握。

  [進一步了解](https://valkey.io/commands/hello/)
+ `PING`

  傳回伺服器的活動回應。

  [進一步了解](https://valkey.io/commands/ping/)
+ `QUIT`

  關閉連線。

  [進一步了解](https://valkey.io/commands/quit/)
+ `RESET`

  重設連線。

  [進一步了解](https://valkey.io/commands/reset/)
+ `SELECT`

  變更選取的資料庫。

  [進一步了解](https://valkey.io/commands/select/)

**一般命令**
+ `COPY`

  將金鑰的值複製到新金鑰。

  [進一步了解](https://valkey.io/commands/copy/)
+ `DEL`

  刪除一或多個金鑰。

  [進一步了解](https://valkey.io/commands/del/)
+ `DUMP`

  傳回儲存於金鑰之值的序列化表示。

  [進一步了解](https://valkey.io/commands/dump/)
+ `EXISTS`

  判斷有一或多個值存在。

  [進一步了解](https://valkey.io/commands/exists/)
+ `EXPIRE`

  設定金鑰的到期時間 (以秒為單位)。

  [進一步了解](https://valkey.io/commands/expire/)
+ `EXPIREAT`

  將金鑰的到期時間設為 Unix 時間戳記。

  [進一步了解](https://valkey.io/commands/expireat/)
+ `EXPIRETIME`

  以 Unix 時間戳記傳回金鑰的到期時間。

  [進一步了解](https://valkey.io/commands/expiretime/)
+ `PERSIST`

  移除金鑰的到期時間。

  [進一步了解](https://valkey.io/commands/persist/)
+ `PEXPIRE`

  設定金鑰的到期時間 (以毫秒為單位)。

  [進一步了解](https://valkey.io/commands/pexpire/)
+ `PEXPIREAT`

  將金鑰的到期時間設為 Unix 毫秒時間戳記。

  [進一步了解](https://valkey.io/commands/pexpireat/)
+ `PEXPIRETIME`

  以 Unix 毫秒時間戳記傳回金鑰的到期時間。

  [進一步了解](https://valkey.io/commands/pexpiretime/)
+ `PTTL`

  傳回以毫秒為單位的金鑰到期時間。

  [進一步了解](https://valkey.io/commands/pttl/)
+ `RANDOMKEY`

  從資料庫傳回隨機金鑰名稱。

  [進一步了解](https://valkey.io/commands/randomkey/)
+ `RENAME`

  重新命名金鑰並覆寫目的地。

  [進一步了解](https://valkey.io/commands/rename/)
+ `RENAMENX`

  僅在目標金鑰名稱不存在時重新命名金鑰。

  [進一步了解](https://valkey.io/commands/renamenx/)
+ `RESTORE`

  從值的序列化表示建立金鑰。

  [進一步了解](https://valkey.io/commands/restore/)
+ `SCAN`

  逐一查看資料庫中的金鑰名稱。

  [進一步了解](https://valkey.io/commands/scan/)
+ `SORT`

  排序清單中、集合中或已排序集合中的元素，並選擇性地儲存結果。

  [進一步了解](https://valkey.io/commands/sort/)
+ `SORT_RO`

  傳回清單、集合或已排序清單的已排序元素。

  [進一步了解](https://valkey.io/commands/sort_ro/)
+ `TOUCH`

  傳回在更新上次存取時間後，所指定金鑰當中現有的金鑰數目。

  [進一步了解](https://valkey.io/commands/touch/)
+ `TTL`

  傳回以秒為單位的金鑰到期時間。

  [進一步了解](https://valkey.io/commands/ttl/)
+ `TYPE`

  判斷儲存於金鑰的值類型。

  [進一步了解](https://valkey.io/commands/type/)
+ `UNLINK`

  以非同步方式刪除一或多個金鑰。

  [進一步了解](https://valkey.io/commands/unlink/)

**地理空間命令**
+ `GEOADD`

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

  [進一步了解](https://valkey.io/commands/geoadd/)
+ `GEODIST`

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

  [進一步了解](https://valkey.io/commands/geodist/)
+ `GEOHASH`

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

  [進一步了解](https://valkey.io/commands/geohash/)
+ `GEOPOS`

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

  [進一步了解](https://valkey.io/commands/geopos/)
+ `GEORADIUS`

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

  [進一步了解](https://valkey.io/commands/georadius/)
+ `GEORADIUS_RO`

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

  [進一步了解](https://valkey.io/commands/georadius_ro/)
+ `GEORADIUSBYMEMBER`

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

  [進一步了解](https://valkey.io/commands/georadiusbymember/)
+ `GEORADIUSBYMEMBER_RO`

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

  [進一步了解](https://valkey.io/commands/georadiusbymember_ro/)
+ `GEOSEARCH`

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

  [進一步了解](https://valkey.io/commands/geosearch/)
+ `GEOSEARCHSTORE`

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

  [進一步了解](https://valkey.io/commands/geosearchstore/)

**雜湊命令**
+ `HDEL`

  從雜湊中刪除一或多個欄位及其值。刪除沒有剩餘任何欄位的雜湊。

  [進一步了解](https://valkey.io/commands/hdel/)
+ `HEXISTS`

  判斷雜湊中是否有欄位存在。

  [進一步了解](https://valkey.io/commands/hexists/)
+ `HGET`

  傳回雜湊中某個欄位的值。

  [進一步了解](https://valkey.io/commands/hget/)
+ `HGETALL`

  傳回雜湊中的所有欄位和值。

  [進一步了解](https://valkey.io/commands/hgetall/)
+ `HINCRBY`

  按某個數字遞增雜湊中欄位的整數值。如果欄位不存在，則使用 0 作為初始值。

  [進一步了解](https://valkey.io/commands/hincrby/)
+ `HINCRBYFLOAT`

  按某個數字遞增欄位的浮點值。如果欄位不存在，則使用 0 作為初始值。

  [進一步了解](https://valkey.io/commands/hincrbyfloat/)
+ `HKEYS`

  傳回雜湊中的所有欄位。

  [進一步了解](https://valkey.io/commands/hkeys/)
+ `HLEN`

  傳回雜湊中的欄位數。

  [進一步了解](https://valkey.io/commands/hlen/)
+ `HMGET`

  傳回雜湊中所有欄位的值。

  [進一步了解](https://valkey.io/commands/hmget/)
+ `HMSET`

  設定多個欄位的值。

  [進一步了解](https://valkey.io/commands/hmset/)
+ `HRANDFIELD`

  傳回雜湊中的一或多個隨機欄位。

  [進一步了解](https://valkey.io/commands/hrandfield/)
+ `HSCAN`

  逐一查看雜湊的欄位和值。

  [進一步了解](https://valkey.io/commands/hscan/)
+ `HSET`

  建立或修改雜湊中欄位的值。

  [進一步了解](https://valkey.io/commands/hset/)
+ `HSETNX`

  僅在欄位不存在時設定雜湊中欄位的值。

  [進一步了解](https://valkey.io/commands/hsetnx/)
+ `HSTRLEN`

  傳回欄位值的長度。

  [進一步了解](https://valkey.io/commands/hstrlen/)
+ `HVALS`

  傳回雜湊中的所有值。

  [進一步了解](https://valkey.io/commands/hvals/)

**HyperLogLog 命令**
+ `PFADD`

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

  [進一步了解](https://valkey.io/commands/pfadd/)
+ `PFCOUNT`

  傳回 HyperLogLog 索引鍵所觀察到集合的近似基數。

  [進一步了解](https://valkey.io/commands/pfcount/)
+ `PFMERGE`

  將一或多個 HyperLogLog 值合併成單一索引鍵。

  [進一步了解](https://valkey.io/commands/pfmerge/)

**清單命令**
+ `BLMOVE`

  從清單彈現元素、將其推送到另一個清單並傳回。封鎖直到元素可用為止。最後一個元素移動後刪除清單。

  [進一步了解](https://valkey.io/commands/blmove/)
+ `BLMPOP`

  彈現多個清單之一的第一個元素。封鎖直到元素可用為止。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/blmpop/)
+ `BLPOP`

  移除並傳回清單中的第一個元素。封鎖直到元素可用為止。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/blpop/)
+ `BRPOP`

  移除並傳回清單中的最後一個元素。封鎖直到元素可用為止。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/brpop/)
+ `BRPOPLPUSH`

  從清單彈現元素、將其推送到另一個清單並傳回。封鎖直到元素可用為止。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/brpoplpush/)
+ `LINDEX`

  按索引傳回清單中的元素。

  [進一步了解](https://valkey.io/commands/lindex/)
+ `LINSERT`

  將某一個元素插入清單中另一個元素之前或之後。

  [進一步了解](https://valkey.io/commands/linsert/)
+ `LLEN`

  傳回清單的長度。

  [進一步了解](https://valkey.io/commands/llen/)
+ `LMOVE`

  從某一個清單彈現元素並推送至另一個清單後，傳回該元素。最後一個元素移動後刪除清單。

  [進一步了解](https://valkey.io/commands/lmove/)
+ `LMPOP`

  從清單中移除多個元素後，傳回這些元素。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/lmpop/)
+ `LPOP`

  從清單中移除第一個元素後將該元素傳回。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/lpop/)
+ `LPOS`

  傳回清單中相符元素的索引。

  [進一步了解](https://valkey.io/commands/lpos/)
+ `LPUSH`

  在清單前面加上一或多個元素。建立鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/lpush/)
+ `LPUSHX`

  僅於清單存在時，在清單前面加上一或多個元素。

  [進一步了解](https://valkey.io/commands/lpushx/)
+ `LRANGE`

  從清單中傳回某一範圍的元素。

  [進一步了解](https://valkey.io/commands/lrange/)
+ `LREM`

  從清單中移除元素。最後一個元素移除後刪除清單。

  [進一步了解](https://valkey.io/commands/lrem/)
+ `LSET`

  按索引設定清單中元素的值。

  [進一步了解](https://valkey.io/commands/lset/)
+ `LTRIM`

  移除清單兩端的元素。若元素都已修剪，則刪除清單。

  [進一步了解](https://valkey.io/commands/ltrim/)
+ `RPOP`

  傳回並移除清單中的最後幾個元素。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/rpop/)
+ `RPOPLPUSH`

  移除清單中的最後一個元素並推送至另一個清單後，傳回該元素。最後一個元素彈現後刪除清單。

  [進一步了解](https://valkey.io/commands/rpoplpush/)
+ `RPUSH`

  附加一或多個元素至清單。建立鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/rpush/)
+ `RPUSHX`

  僅於清單存在時附加元素至清單。

  [進一步了解](https://valkey.io/commands/rpushx/)

**Pub/Sub 命令**

**注意**  
PUBSUB 命令會在內部使用碎片的 PUBSUB，因此通道名稱將會混合。
+ `PUBLISH`

  將訊息發佈至通道。

  [進一步了解](https://valkey.io/commands/publish/)
+ `PUBSUB CHANNELS`

  傳回作用中通道。

  [進一步了解](https://valkey.io/commands/pubsub-channels/)
+ `PUBSUB NUMSUB`

  將訂閱用戶數傳回至通道。

  [進一步了解](https://valkey.io/commands/pubsub-numsub/)
+ `PUBSUB SHARDCHANNELS`

  傳回作用中碎片通道。

  [進一步了解](https://valkey.io/commands/pubsub-shardchannels/)
+ `PUBSUB SHARDNUMSUB`

  傳回碎片通道的訂閱用戶數。

  [進一步了解](https://valkey.io/commands/pubsub-shardnumsub/)
+ `SPUBLISH`

  將訊息發佈至碎片通道

  [進一步了解](https://valkey.io/commands/spublish/)
+ `SSUBSCRIBE`

  偵聽發佈至碎片通道的訊息。

  [進一步了解](https://valkey.io/commands/ssubscribe/)
+ `SUBSCRIBE`

  偵聽發佈至通道的訊息。

  [進一步了解](https://valkey.io/commands/subscribe/)
+ `SUNSUBSCRIBE`

  停止偵聽發佈至碎片通道的訊息。

  [進一步了解](https://valkey.io/commands/sunsubscribe/)
+ `UNSUBSCRIBE`

  停止偵聽發佈至通道的訊息。

  [進一步了解](https://valkey.io/commands/unsubscribe/)

**指令碼命令**
+ `EVAL`

  執行伺服器端 Lua 指令碼。

  [進一步了解](https://valkey.io/commands/eval/)
+ `EVAL_RO`

  執行唯讀伺服器端 Lua 指令碼。

  [進一步了解](https://valkey.io/commands/eval_ro/)
+ `EVALSHA`

  透過 SHA1 摘要執行伺服器端 Lua 指令碼。

  [進一步了解](https://valkey.io/commands/evalsha/)
+ `EVALSHA_RO`

  透過 SHA1 摘要執行唯讀伺服器端 Lua 指令碼。

  [進一步了解](https://valkey.io/commands/evalsha_ro/)
+ `SCRIPT EXISTS`

  判斷指令碼快取中是否存在伺服器端 Lua 指令碼。

  [進一步了解](https://valkey.io/commands/script-exists/)
+ `SCRIPT FLUSH`

  目前無操作的指令碼快取是由服務進行管理。

  [進一步了解](https://valkey.io/commands/script-flush/)
+ `SCRIPT LOAD`

  將伺服器端 Lua 指令碼載入指令碼快取中。

  [進一步了解](https://valkey.io/commands/script-load/)

**伺服器管理命令**

**注意**  
針對 Valkey 和 Redis OSS 使用節點型 ElastiCache 叢集時，用戶端必須將排清命令傳送至每個主要叢集，以排清所有金鑰。ElastiCache Serverless for Valkey 和 Redis OSS 的運作方式不同，因為它會抽象化基礎叢集拓撲。結果是，在 ElastiCache Serverless 中， `FLUSHDB` 和 `FLUSHALL`命令一律會排清叢集中的所有金鑰。因此，無法將排清命令包含在 Serverless 交易中。
+ `ACL CAT`

  列出 ACL 類別，或類別內的命令。

  [進一步了解](https://valkey.io/commands/acl-cat/)
+ `ACL GENPASS`

  產生可用來識別 ACL 使用者的偽隨機安全密碼。

  [進一步了解](https://valkey.io/commands/acl-genpass/)
+ `ACL GETUSER`

  列出使用者的 ACL 規則。

  [進一步了解](https://valkey.io/commands/acl-getuser/)
+ `ACL LIST`

  傾印 ACL 檔案格式的有效規則。

  [進一步了解](https://valkey.io/commands/acl-list/)
+ `ACL USERS`

  列出所有 ACL 使用者。

  [進一步了解](https://valkey.io/commands/acl-users/)
+ `ACL WHOAMI`

  傳回目前連線的已驗證使用者名稱。

  [進一步了解](https://valkey.io/commands/acl-whoami/)
+ `DBSIZE`

  傳回目前選取的資料庫中的索引鍵數目。此操作不保證在所有位置都是原子。

  [進一步了解](https://valkey.io/commands/dbsize/)
+ `COMMAND`

  傳回所有命令的詳細資訊。

  [進一步了解](https://valkey.io/commands/command/)
+ `COMMAND COUNT`

  傳回命令計數。

  [進一步了解](https://valkey.io/commands/command-count/)
+ `COMMAND DOCS`

  傳回有關一個、多個或所有命令的文件資訊。

  [進一步了解](https://valkey.io/commands/command-docs/)
+ `COMMAND GETKEYS`

  從任意命令中擷取索引鍵名稱。

  [進一步了解](https://valkey.io/commands/command-getkeys/)
+ `COMMAND GETKEYSANDFLAGS`

  擷取任意命令的索引鍵名稱和存取旗標。

  [進一步了解](https://valkey.io/commands/command-getkeysandflags/)
+ `COMMAND INFO`

  傳回有關一個、多個或所有命令的資訊。

  [進一步了解](https://valkey.io/commands/command-info/)
+ `COMMAND LIST`

  傳回命令名稱清單。

  [進一步了解](https://valkey.io/commands/command-list/)
+ `COMMANDLOG`

  命令日誌命令的容器。

  [進一步了解](https://valkey.io/commands/commandlog/)
+ `COMMANDLOG GET`

  傳回指定的命令日誌項目。

  [進一步了解](https://valkey.io/commands/commandlog-get/)
+ `COMMANDLOG HELP`

  顯示有關不同子命令的實用文字。

  [進一步了解](https://valkey.io/commands/commandlog-help/)
+ `COMMANDLOG LEN`

  傳回指定類型命令日誌中的項目數量。

  [進一步了解](https://valkey.io/commands/commandlog-len/)
+ `COMMANDLOG RESET`

  清除指定類型命令日誌中的所有項目。

  [進一步了解](https://valkey.io/commands/commandlog-reset/)
+ `FLUSHALL`

  移除所有資料庫中的所有索引鍵。此操作不保證在所有位置都是原子。

  [進一步了解](https://valkey.io/commands/flushall/)
+ `FLUSHDB`

  移除目前資料庫中的所有索引鍵。此操作不保證在所有位置都是原子。

  [進一步了解](https://valkey.io/commands/flushdb/)
+ `INFO`

  傳回有關伺服器的資訊和統計資料。

  [進一步了解](https://valkey.io/commands/info/)
+ `LOLWUT`

  顯示電腦藝術和 Valkey 或 Redis OSS 版本。

  [進一步了解](https://valkey.io/commands/lolwut/)
+ `ROLE`

  傳回複寫角色。

  [進一步了解](https://valkey.io/commands/role/)
+ `TIME`

  傳回伺服器時間。

  [進一步了解](https://valkey.io/commands/time/)

**設定命令**
+ `SADD`

  將一或多個成員新增至集合。建立鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/sadd/)
+ `SCARD`

  傳回集合中的成員數。

  [進一步了解](https://valkey.io/commands/scard/)
+ `SDIFF`

  傳回多個集合的差異。

  [進一步了解](https://valkey.io/commands/sdiff/)
+ `SDIFFSTORE`

  將多個集合的差異儲存在索引鍵中。

  [進一步了解](https://valkey.io/commands/sdiffstore/)
+ `SINTER`

  傳回多個集合的交集。

  [進一步了解](https://valkey.io/commands/sinter/)
+ `SINTERCARD`

  傳回多個集合之交集的成員數。

  [進一步了解](https://valkey.io/commands/sintercard/)
+ `SINTERSTORE`

  將多個集合的交集儲存在索引鍵中。

  [進一步了解](https://valkey.io/commands/sinterstore/)
+ `SISMEMBER`

  判斷成員是否屬於集合。

  [進一步了解](https://valkey.io/commands/sismember/)
+ `SMEMBERS`

  傳回集合的所有成員。

  [進一步了解](https://valkey.io/commands/smembers/)
+ `SMISMEMBER`

  判斷多個成員是否屬於某個集合。

  [進一步了解](https://valkey.io/commands/smismember/)
+ `SMOVE`

  將成員從某一個集合移動到另一個集合。

  [進一步了解](https://valkey.io/commands/smove/)
+ `SPOP`

  從集合中移除一或多個隨機成員後傳回這些成員。最後一個成員彈現後刪除集合。

  [進一步了解](https://valkey.io/commands/spop/)
+ `SRANDMEMBER`

  從集合中取得一或多個隨機成員

  [進一步了解](https://valkey.io/commands/srandmember/)
+ `SREM`

  從集合中移除一或多個成員。最後一個成員移除後刪除集合。

  [進一步了解](https://valkey.io/commands/srem/)
+ `SSCAN`

  逐一查看集合的成員。

  [進一步了解](https://valkey.io/commands/sscan/)
+ `SUNION`

  傳回多個集合的聯集。

  [進一步了解](https://valkey.io/commands/sunion/)
+ `SUNIONSTORE`

  將多個集合的聯集儲存在索引鍵中。

  [進一步了解](https://valkey.io/commands/sunionstore/)

**已排序集合命令**
+ `BZMPOP`

  按分數從一或多個已排序集合移除並傳回成員。封鎖直到成員可用為止。最後一個成員彈現後刪除已排序集合。

  [進一步了解](https://valkey.io/commands/bzmpop/)
+ `BZPOPMAX`

  從一或多個已排序集合移除並傳回分數最高的成員。封鎖直到成員可用為止。最後一個成員彈現後刪除已排序集合。

  [進一步了解](https://valkey.io/commands/bzpopmax/)
+ `BZPOPMIN`

  從一或多個已排序集合移除並傳回分數最低的成員。封鎖直到成員可用為止。最後一個成員彈現後刪除已排序集合。

  [進一步了解](https://valkey.io/commands/bzpopmin/)
+ `ZADD`

  將一或多個成員新增至已排序集合，或更新其分數。建立索引鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/zadd/)
+ `ZCARD`

  傳回已排序集合中的成員數。

  [進一步了解](https://valkey.io/commands/zcard/)
+ `ZCOUNT`

  傳回已排序集合中分數落在某個範圍內的成員數。

  [進一步了解](https://valkey.io/commands/zcount/)
+ `ZDIFF`

  傳回多個已排序集合的差異。

  [進一步了解](https://valkey.io/commands/zdiff/)
+ `ZDIFFSTORE`

  將多個已排序集合的差異儲存在索引鍵中。

  [進一步了解](https://valkey.io/commands/zdiffstore/)
+ `ZINCRBY`

  遞增排列已排序集合中成員的分數。

  [進一步了解](https://valkey.io/commands/zincrby/)
+ `ZINTER`

  傳回多個已排序集合的交集。

  [進一步了解](https://valkey.io/commands/zinter/)
+ `ZINTERCARD`

  傳回多個已排序集合之交集的成員數。

  [進一步了解](https://valkey.io/commands/zintercard/)
+ `ZINTERSTORE`

  將多個已排序集合的交集儲存在索引鍵中。

  [進一步了解](https://valkey.io/commands/zinterstore/)
+ `ZLEXCOUNT`

  傳回已排序集合中某一字典順序範圍內的成員數。

  [進一步了解](https://valkey.io/commands/zlexcount/)
+ `ZMPOP`

  從一或多個已排序集合移除最高得分或最低得分成員後，傳回該成員。最後一個成員彈現後刪除已排序集合。

  [進一步了解](https://valkey.io/commands/zmpop/)
+ `ZMSCORE`

  傳回已排序集合中一或多個成員的分數。

  [進一步了解](https://valkey.io/commands/zmscore/)
+ `ZPOPMAX`

  從已排序集合移除最高得分成員後，傳回這些成員。最後一個成員彈現後刪除已排序集合。

  [進一步了解](https://valkey.io/commands/zpopmax/)
+ `ZPOPMIN`

  從已排序集合移除最低得分成員後，傳回這些成員。最後一個成員彈現後刪除已排序集合。

  [進一步了解](https://valkey.io/commands/zpopmin/)
+ `ZRANDMEMBER`

  從已排序集合中傳回一或多個隨機成員。

  [進一步了解](https://valkey.io/commands/zrandmember/)
+ `ZRANGE`

  傳回已排序集合中某個索引範圍內的成員。

  [進一步了解](https://valkey.io/commands/zrange/)
+ `ZRANGEBYLEX`

  傳回已排序集合中某一字典順序範圍內的成員。

  [進一步了解](https://valkey.io/commands/zrangebylex/)
+ `ZRANGEBYSCORE`

  傳回已排序集合中某個分數範圍內的成員。

  [進一步了解](https://valkey.io/commands/zrangebyscore/)
+ `ZRANGESTORE`

  將已排序集合中某個範圍的成員儲存到索引鍵中。

  [進一步了解](https://valkey.io/commands/zrangestore/)
+ `ZRANK`

  傳回依分數遞增順序排列的已排序集合中成員的索引。

  [進一步了解](https://valkey.io/commands/zrank/)
+ `ZREM`

  從已排序集合中移除一或多個成員。若所有成員都已移除，則刪除已排序集合。

  [進一步了解](https://valkey.io/commands/zrem/)
+ `ZREMRANGEBYLEX`

  移除已排序集合中某一字典順序範圍內的成員。若所有成員都已移除，則刪除已排序集合。

  [進一步了解](https://valkey.io/commands/zremrangebylex/)
+ `ZREMRANGEBYRANK`

  移除已排序集合中某個索引範圍內的成員。若所有成員都已移除，則刪除已排序集合。

  [進一步了解](https://valkey.io/commands/zremrangebyrank/)
+ `ZREMRANGEBYSCORE`

  移除已排序集合中某個分數範圍內的成員。若所有成員都已移除，則刪除已排序集合。

  [進一步了解](https://valkey.io/commands/zremrangebyscore/)
+ `ZREVRANGE`

  依反向順序傳回已排序集合中某個索引範圍內的成員。

  [進一步了解](https://valkey.io/commands/zrevrange/)
+ `ZREVRANGEBYLEX`

  依反向順序傳回已排序集合中某一字典順序範圍內的成員。

  [進一步了解](https://valkey.io/commands/zrevrangebylex/)
+ `ZREVRANGEBYSCORE`

  依反向順序傳回已排序集合中某個分數範圍內的成員。

  [進一步了解](https://valkey.io/commands/zrevrangebyscore/)
+ `ZREVRANK`

  傳回依分數遞減順序排列的已排序集合中成員的索引。

  [進一步了解](https://valkey.io/commands/zrevrank/)
+ `ZSCAN`

  逐一查看已排序集合的成員和分數。

  [進一步了解](https://valkey.io/commands/zscan/)
+ `ZSCORE`

  傳回已排序集合中成員的分數。

  [進一步了解](https://valkey.io/commands/zscore/)
+ `ZUNION`

  傳回多個已排序集合的聯集。

  [進一步了解](https://valkey.io/commands/zunion/)
+ `ZUNIONSTORE`

  將多個已排序集合的聯集儲存在索引鍵中。

  [進一步了解](https://valkey.io/commands/zunionstore/)

**串流命令**
+ `XACK`

  傳回已由串流的取用者群組成員成功確認的訊息數。

  [進一步了解](https://valkey.io/commands/xack/)
+ `XADD`

  將新訊息附加至串流。建立索引鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/xadd/)
+ `XAUTOCLAIM`

  變更或取得取用者群組中訊息的擁有權，就像訊息傳遞至取用者群組成員一樣。

  [進一步了解](https://valkey.io/commands/xautoclaim/)
+ `XCLAIM`

  變更或取得取用者群組中訊息的擁有權，就像訊息傳遞至取用者群組成員一樣。

  [進一步了解](https://valkey.io/commands/xclaim/)
+ `XDEL`

  從串流中移除訊息後傳回訊息數。

  [進一步了解](https://valkey.io/commands/xdel/)
+ `XGROUP CREATE`

  建立取用者群組。

  [進一步了解](https://valkey.io/commands/xgroup-create/)
+ `XGROUP CREATECONSUMER`

  建立取用者群組中的取用者。

  [進一步了解](https://valkey.io/commands/xgroup-createconsumer/)
+ `XGROUP DELCONSUMER`

  從取用者群組刪除取用者。

  [進一步了解](https://valkey.io/commands/xgroup-delconsumer/)
+ `XGROUP DESTROY`

  銷毀取用者群組。

  [進一步了解](https://valkey.io/commands/xgroup-destroy/)
+ `XGROUP SETID`

  設定取用者群組的上次傳遞 ID。

  [進一步了解](https://valkey.io/commands/xgroup-setid/)
+ `XINFO CONSUMERS`

  傳回取用者群組中取用者的清單。

  [進一步了解](https://valkey.io/commands/xinfo-consumers/)
+ `XINFO GROUPS`

  傳回串流的取用者群組清單。

  [進一步了解](https://valkey.io/commands/xinfo-groups/)
+ `XINFO STREAM`

  傳回串流的相關資訊。

  [進一步了解](https://valkey.io/commands/xinfo-stream/)
+ `XLEN`

  傳回串流中的訊息數。

  [進一步了解](https://valkey.io/commands/xlen/)
+ `XPENDING`

  從串流取用者群組的待處理項目清單中傳回資訊和項目。

  [進一步了解](https://valkey.io/commands/xpending/)
+ `XRANGE`

  傳回串流中某個 ID 範圍內的訊息。

  [進一步了解](https://valkey.io/commands/xrange/)
+ `XREAD`

  從多個串流傳回 ID 大於所請求值的訊息。封鎖直到訊息可用為止。

  [進一步了解](https://valkey.io/commands/xread/)
+ `XREADGROUP`

  從串流傳回群組中取用者的新訊息和歷史訊息。封鎖直到訊息可用為止。

  [進一步了解](https://valkey.io/commands/xreadgroup/)
+ `XREVRANGE`

  依反向順序傳回串流中某個 ID 範圍內的訊息。

  [進一步了解](https://valkey.io/commands/xrevrange/)
+ `XTRIM`

  從串流開頭刪除訊息。

  [進一步了解](https://valkey.io/commands/xtrim/)

**字串命令**
+ `APPEND`

  將字串附加至索引鍵的值。建立索引鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/append/)
+ `DECR`

  以 1 為單位遞減索引鍵的整數值。如果索引鍵不存在，則使用 0 作為初始值。

  [進一步了解](https://valkey.io/commands/decr/)
+ `DECRBY`

  從索引鍵的整數值遞減某個數字。如果索引鍵不存在，則使用 0 作為初始值。

  [進一步了解](https://valkey.io/commands/decrby/)
+ `GET`

  傳回索引鍵的字串值。

  [進一步了解](https://valkey.io/commands/get/)
+ `GETDEL`

  刪除索引鍵後，傳回索引鍵的字串值。

  [進一步了解](https://valkey.io/commands/getdel/)
+ `GETEX`

  設定到期時間後，傳回索引鍵的字串值。

  [進一步了解](https://valkey.io/commands/getex/)
+ `GETRANGE`

  傳回儲存於索引鍵之字串的子字串。

  [進一步了解](https://valkey.io/commands/getrange/)
+ `GETSET`

  設定新值後，傳回索引鍵的前一個字串值。

  [進一步了解](https://valkey.io/commands/getset/)
+ `INCR`

  以 1 為單位遞增索引鍵的整數值。如果索引鍵不存在，則使用 0 作為初始值。

  [進一步了解](https://valkey.io/commands/incr/)
+ `INCRBY`

  以某個數字為單位遞增索引鍵的整數值。如果索引鍵不存在，則使用 0 作為初始值。

  [進一步了解](https://valkey.io/commands/incrby/)
+ `INCRBYFLOAT`

  以某個數字為單位遞增索引鍵的浮點值。如果索引鍵不存在，則使用 0 作為初始值。

  [進一步了解](https://valkey.io/commands/incrbyfloat/)
+ `LCS`

  尋找最長的常用子字串。

  [進一步了解](https://valkey.io/commands/lcs/)
+ `MGET`

  以原子方式傳回一或多個索引鍵的字串值。

  [進一步了解](https://valkey.io/commands/mget/)
+ `MSET`

  以原子方式建立或修改一或多個索引鍵的字串值。

  [進一步了解](https://valkey.io/commands/mset/)
+ `MSETNX`

  僅在所有索引鍵都不存在時，以原子方式修改一或多個索引鍵的字串值。

  [進一步了解](https://valkey.io/commands/msetnx/)
+ `PSETEX`

  設定索引鍵的字串值和毫秒為單位的期時間。建立索引鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/psetex/)
+ `SET`

  設定索引鍵的字串值，並忽略其類型。建立索引鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/set/)
+ `SETEX`

  設定索引鍵的字串值和到期時間。建立索引鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/setex/)
+ `SETNX`

  僅於索引鍵不存在時，才設定索引鍵的字串值。

  [進一步了解](https://valkey.io/commands/setnx/)
+ `SETRANGE`

  依某個偏移量將字串值的一部分覆寫為另一個字串值。建立索引鍵 (如不存在)。

  [進一步了解](https://valkey.io/commands/setrange/)
+ `STRLEN`

  傳回字串值的長度。

  [進一步了解](https://valkey.io/commands/strlen/)
+ `SUBSTR`

  從字串值傳回子字串。

  [進一步了解](https://valkey.io/commands/substr/)

**交易命令**
+ `DISCARD`

  捨棄交易。

  [進一步了解](https://valkey.io/commands/discard/)
+ `EXEC`

  執行交易中的所有命令。

  [進一步了解](https://valkey.io/commands/exec/)
+ `MULTI`

  開始交易。

  [進一步了解](https://valkey.io/commands/multi/)

## 受限的 Valkey 和 Redis OSS 命令
<a name="RestrictedCommandsRedis"></a>

為了提供受管服務體驗，ElastiCache 會限制存取某些需要進階權限的快取引擎特定命令。對於執行 Redis OSS 的快取，無法使用下列命令：
+ `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`
+ `commandlog`
+ `commandlog get`
+ `commandlog help`
+ `commandlog len`
+ `commandlog reset`
+ `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`
+ `wait`

## 支援的 Memcached 命令
<a name="SupportedCommandsMem"></a>

ElastiCache Serverless for Memcached 支援開放原始碼 memcached 1.6 中的所有 memcached [命令](https://github.com/memcached/memcached/wiki/Commands)，但例外如下：
+ 用戶端連線需要 TLS，因此不支援 UDP 通訊協定。
+ 不支援二進位通訊協定，因為已在 memcached 1.6 中正式[棄用](https://github.com/memcached/memcached/wiki/ReleaseNotes160)。
+ `GET/GETS` 命令限制為 16KB，以避免可能遭到對伺服器進行大量金鑰擷取的 DoS 攻擊。
+ 延遲的 `flush_all` 命令將遭到拒絕，並顯示 `CLIENT_ERROR`。
+ 不支援設定引擎或揭露有關引擎狀態或日誌之內部資訊的命令，例如：
  + 對於 `STATS` 命令，僅支援 `stats` 和 `stats reset`。其他變化都將傳回 `ERROR`
  + `lru / lru_crawler` - 修改 LRU 和 LRU 爬蟲程式設定
  + `watch` - 監看 memcached 伺服器日誌
  + `verbosity` - 設定伺服器日誌層級
  + `me` - 不支援中繼偵錯 (me) 命令