redis的command命令

晨港飞燕發表於2024-05-31

Key(鍵)命令

  • DEL key [key ...]:刪除一個或多個鍵。
  • DUMP key:序列化給定鍵,並返回被序列化的值。
  • EXISTS key [key ...]:檢查一個或多個鍵是否存在。
  • EXPIRE key seconds:為鍵設定過期時間(以秒為單位)。
  • EXPIREAT key timestamp:為鍵設定過期時間(以 UNIX 時間戳表示)。
  • KEYS pattern:查詢所有匹配給定模式的鍵。
  • MOVE key db:將鍵移動到另一個資料庫。
  • PERSIST key:移除鍵的過期時間。
  • PEXPIRE key milliseconds:設定鍵的過期時間(以毫秒為單位)。
  • PEXPIREAT key milliseconds-timestamp:設定鍵的過期時間(以 UNIX 時間戳表示,毫秒為單位)。
  • PTTL key:以毫秒為單位返回鍵的剩餘過期時間。
  • RENAME key newkey:更改鍵的名稱。
  • RENAMENX key newkey:僅當新鍵名不存在時,將鍵改名。
  • SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]:對列表、集合或有序集合排序。
  • TTL key:以秒為單位返回鍵的剩餘過期時間。
  • TYPE key:返回鍵的儲存型別。
  • UNLINK key [key ...]:非同步刪除一個或多個鍵。

String(字串)命令

  • APPEND key value:將值追加到鍵的末尾。
  • BITCOUNT key [start end]:計算字串中被設定為 1 的位的數量。
  • BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]:處理字串作為位域。
  • BITOP operation destkey key [key ...]:按位操作。
  • BITPOS key bit [start] [end]:返回位被設定為 1 或 0 的第一個位置。
  • DECR key:將鍵的值減一。
  • DECRBY key decrement:將鍵的值減去指定的減量。
  • GET key:獲取鍵的值。
  • GETBIT key offset:返回字串在偏移量上的位值。
  • GETRANGE key start end:獲取子字串。
  • GETSET key value:設定鍵的值,並返回其舊值。
  • INCR key:將鍵的值加一。
  • INCRBY key increment:將鍵的值加上指定的增量。
  • INCRBYFLOAT key increment:將鍵的值加上指定的浮點增量。
  • MGET key [key ...]:獲取所有給定鍵的值。
  • MSET key value [key value ...]:同時設定多個鍵的值。
  • MSETNX key value [key value ...]:同時設定多個鍵的值,僅當這些鍵不存在。
  • PSETEX key milliseconds value:設定鍵的值及其過期時間(以毫秒為單位)。
  • SET key value [EX seconds] [PX milliseconds] [NX|XX]:設定鍵的值。
  • SETBIT key offset value:設定字串在偏移量上的位值。
  • SETEX key seconds value:設定鍵的值及其過期時間(以秒為單位)。
  • SETNX key value:僅當鍵不存在時,設定鍵的值。
  • SETRANGE key offset value:覆蓋鍵從指定偏移量開始的值。
  • STRLEN key:獲取鍵值的長度。

Hash(雜湊)命令

  • HDEL key field [field ...]:刪除一個或多個雜湊表欄位。
  • HEXISTS key field:檢視雜湊表 key 中,指定的欄位是否存在。
  • HGET key field:獲取儲存在雜湊表中指定欄位的值。
  • HGETALL key:獲取在雜湊表中指定 key 的所有欄位和值。
  • HINCRBY key field increment:為雜湊表 key 中的指定欄位的整數值加上增量 increment。
  • HINCRBYFLOAT key field increment:為雜湊表 key 中的指定欄位的浮點數值加上增量 increment。
  • HKEYS key:獲取所有雜湊表中的欄位。
  • HLEN key:獲取雜湊表中欄位的數量。
  • HMGET key field [field ...]:獲取所有給定欄位的值。
  • HMSET key field value [field value ...]:同時將多個 field-value (欄位-值) 對設定到雜湊表 key 中。
  • HSET key field value:將雜湊表 key 中的欄位 field 的值設為 value。
  • HSETNX key field value:只有在欄位 field 不存在時,設定雜湊表欄位的值。
  • HVALS key:獲取雜湊表中所有值。

List(列表)命令

  • BLPOP key [key ...] timeout:移出並獲取列表的第一個元素,或阻塞,直到有一個可用。
  • BRPOP key [key ...] timeout:移出並獲取列表的最後一個元素,或阻塞,直到有一個可用。
  • BRPOPLPUSH source destination timeout:從列表中彈出一個值,將它推入另一個列表並返回它;或阻塞,直到有一個可用。
  • LINDEX key index:透過索引獲取列表中的元素。
  • LINSERT key BEFORE|AFTER pivot value:在列表的元素前或後插入元素。
  • LLEN key:獲取列表長度。
  • LPOP key:移出並獲取列表的第一個元素。
  • LPUSH key value [value ...]:將一個或多個值插入到列表頭部。
  • LPUSHX key value:將值插入到已存在的列表頭部。
  • LRANGE key start stop:獲取列表指定範圍內的元素。
  • LREM key count value:移除列表元素。
  • LSET key index value:透過索引設定列表元素的值。
  • LTRIM key start stop:對一個列表進行修剪。

Set(集合)命令

  • SADD key member [member ...]:向集合新增一個或多個成員。
  • SCARD key:獲取集合的成員數。
  • SDIFF key [key ...]:返回一個集合與給定集合的差集。
  • SDIFFSTORE destination key [key ...]:將差集儲存在指定的集合。
  • SINTER key [key ...]:返回給定所有集合的交集。
  • SINTERSTORE destination key [key ...]:將交集儲存在指定的集合。
  • SISMEMBER key member:判斷 member 元素是否是集合 key 的成員。
  • SMEMBERS key:返回集合中的所有成員。
  • SMOVE source destination member:將 member 元素從 source 集合移動到 destination 集合。
  • SPOP key [count]:移除並返回集合中的一個或多個隨機元素。
  • SRANDMEMBER key [count]:返回集合中的一個或多個隨機元素。
  • SREM key member [member ...]:移除集合中的一個或多個成員。
  • SUNION key [key ...]:返回所有給定集合的並集。
  • SUNIONSTORE destination key [key ...]:將並集儲存在指定的集合。

Sorted Set(有序集合)命令

  • ZADD key [NX|XX] [CH] [INCR] score member [score member ...]:向有序集合新增一個或多個成員,或更新已存在成員的分數。
  • ZCARD key:獲取有序集合的成員數。
  • ZCOUNT key min max:計算指定分數區間內的成員數量。
  • ZINCRBY key increment member:有序集合中對指定成員的分數加上增量 increment。
  • ZINTERSTORE destination numkeys key [key ...]:計算給定的一個或多個有序集的交集並將結果集儲存在新的有序集合 key 中。
  • ZRANGE key start stop [WITHSCORES]:透過索引區間返回有序集合成指定區間內的成員。
  • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:透過分數返回有序集合指定區間內的成員。
  • ZRANK key member:返回有序集合中指定成員的索引。
  • ZREM key member [member ...]:移除有序集合中的一個或多個成員。
  • ZREMRANGEBYRANK key start stop:移除有序集合中給定的排名區間的所有成員。
  • ZREMRANGEBYSCORE key min max:移除有序集合中給定的分數區間的所有成員。
  • ZREVRANGE key start stop [WITHSCORES]:返回有序集合中指定區間內的成員,透過索引,分數從高到低。
  • ZREVRANGEBYSCORE key max min [WITHSCORES]:返回有序集合中指定分數區間內的成員,分數從高到低排序。
  • ZREVRANK key member:返回有序集合中指定成員的索引,按分數從高到低排序。
  • ZSCORE key member:返回有序集合中,成員的分數值。
  • ZUNIONSTORE destination numkeys key [key ...]:計算給定的一個或多個有序集的並集,並將結果集儲存在新的有序集合 key 中。

HyperLogLog 命令

  • PFADD key element [element ...]:將元素新增到 HyperLogLog 資料結構。
  • PFCOUNT key [key ...]:返回給定 HyperLogLog 的基數估計值。
  • PFMERGE destkey sourcekey [sourcekey ...]:將多個 HyperLogLog 合併為一個。

Geo(地理位置)命令

  • GEOADD key longitude latitude member [longitude latitude member ...]:將地理空間位置(經度、緯度、名稱)新增到指定鍵。
  • GEODIST key member1 member2 [unit]:返回兩個成員之間的距離。
  • GEOHASH key member [member ...]:返回一個或多個成員的 Geohash 表示。
  • GEOPOS key member [member ...]:返回所有指定成員的位置(經度和緯度)。
  • GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]:根據給定的經緯度座標來查詢指定範圍內的地理位置集合。
  • GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]:根據給定的成員位置來查詢指定範圍內的地理位置集合。

Stream(流)命令

  • XADD key ID field value [field value ...]:將一個包含多個欄位的訊息新增到流。
  • XCLAIM key group consumer min-idle-time ID [ID ...]:將待處理的訊息所有權轉移給另一個消費者。
  • XDEL key ID [ID ...]:從流中刪除一個或多個訊息。
  • XGROUP [CREATE key groupname id|$] [SETID key groupname id|$] [DESTROY key groupname] [DELCONSUMER key groupname consumername]:管理消費者組。
  • XINFO [CONSUMERS key groupname] [GROUPS key] [STREAM key]:獲取有關流和消費者組的資訊。
  • XLEN key:獲取流中的訊息數量。
  • XPENDING key group [start end count [consumer]]:獲取有關消費者組中掛起訊息的資訊。
  • XRANGE key start end [COUNT count]:返回指定區間內的訊息。
  • XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]:返回多個流中指定 ID 之後的訊息。
  • XREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]:從流中讀取訊息,並將其分配給一個消費者組中的消費者。
  • XREVRANGE key end start [COUNT count]:返回指定區間內的訊息,按訊息 ID 倒序排列。
  • XTRIM key MAXLEN [~] count:修剪流,使其不超過指定長度。

釋出/訂閱(Pub/Sub)命令

  • PSUBSCRIBE pattern [pattern ...]:訂閱一個或多個符合給定模式的頻道。
  • PUBLISH channel message:將資訊傳送到指定的頻道。
  • PUNSUBSCRIBE [pattern [pattern ...]]:退訂所有給定模式的頻道。
  • SUBSCRIBE channel [channel ...]:訂閱給定的一個或多個頻道的資訊。
  • UNSUBSCRIBE [channel [channel ...]]:指示客戶端退訂所有給定的頻道。

事務(Transaction)命令

  • DISCARD:取消事務。
  • EXEC:執行所有事務塊內的命令。
  • MULTI:標記一個事務塊的開始。
  • UNWATCH:取消 WATCH 命令對所有鍵的監視。
  • WATCH key [key ...]:監視一個或多個鍵,如果在事務執行之前這些鍵被其他命令所改動,那麼事務將被打斷。

指令碼(Scripting)命令

  • EVAL script numkeys key [key ...] arg [arg ...]:執行 Lua 指令碼。
  • EVALSHA sha1 numkeys key [key ...] arg [arg ...]:執行快取的 Lua 指令碼。
  • SCRIPT EXISTS sha1 [sha1 ...]:檢查指令碼是否已經被載入到快取中。
  • SCRIPT FLUSH:刪除所有已經被載入的指令碼。
  • SCRIPT KILL:殺死當前正在執行的 Lua 指令碼。
  • SCRIPT LOAD script:將指令碼載入到指令碼快取中,但不立即執行。

連線(Connection)命令

  • AUTH password:驗證密碼。
  • ECHO message:回顯訊息。
  • PING [message]:檢查伺服器是否執行。
  • QUIT:關閉連線。
  • SELECT index:切換到指定的資料庫。

伺服器(Server)命令

  • BGREWRITEAOF:在後臺非同步執行 AOF(Append Only File)檔案重寫。
  • BGSAVE:在後臺非同步儲存資料集到磁碟。
  • CLIENT GETNAME:返回為連線設定的名字。
  • CLIENT KILL [ip:port]:關閉客戶端連線。
  • CLIENT LIST:獲取所有連線到伺服器的客戶端資訊和統計資料。
  • CLIENT PAUSE timeout:在指定時間內停止處理來自客戶端的請求。
  • CLIENT SETNAME connection-name:為當前連線設定名字。
  • CONFIG GET parameter:獲取配置引數的值。
  • CONFIG REWRITE:重寫配置檔案。
  • CONFIG SET parameter value:修改配置引數的值。
  • DBSIZE:返回資料庫的鍵的數量。
  • DEBUG OBJECT key:獲取關於 key 的除錯資訊。
  • DEBUG SEGFAULT:讓伺服器崩潰。
  • FLUSHALL:刪除所有資料庫中的所有鍵。
  • FLUSHDB:刪除當前資料庫中的所有鍵。
  • INFO [section]:獲取伺服器的資訊和統計資料。
  • LASTSAVE:返回最近一次成功將資料儲存到磁碟的 Unix 時間戳。
  • MONITOR:實時列印出伺服器接收到的命令,除錯用。
  • PSYNC replicationid offset:用於複製功能的部分重同步。
  • REPLICAOF host port:使伺服器成為指定主伺服器的從伺服器。
  • ROLE:返回主/從例項的角色資訊。
  • SAVE:同步儲存資料到磁碟。
  • SHUTDOWN [NOSAVE|SAVE]:同步儲存資料到磁碟,然後關閉伺服器。
  • SLAVEOF host port:將當前伺服器變為另一個伺服器的從伺服器。
  • SLOWLOG subcommand [argument]:管理慢查詢日誌。
  • SYNC:用於複製功能的完全重同步。
  • TIME:返回當前伺服器時間。

這些命令涵蓋了 Redis 的大部分功能,但可能不是全部。詳細的命令列表和每個命令的完整說明可以在 Redis 官方文件 中找到。

相關文章