http://doc.redisfans.com/
原網址
Redis 命令分類
Key(鍵)
Key(鍵)命令
- exists/del/keys/type/scan
- object/move/dump/migrate
- ttl/pttl/persist/expireat/pexpireat/expire/pexpire
- rename/renamenx
- sort/randomkey/restore
exists
語法:exists key [key ...] 檢查一個或多個 key 是否存在,返回存在的 key 數量,時間復雜度為 o(n),n 為檢查的 key 數量。
示例:
redis> exists name
(integer) 1
redis> exists name type
(integer) 2del
語法:del key [key ...] 刪除單個列表、集合、有序集合或哈希表類型的 key ,時間復雜度為 o(m),m 為以上數據結構內的元素數量。
示例:
redis> del name
(integer) 1
redis> del name type website
(integer) 3keys
語法:keys pattern 查找所有符合給定模式的 key,模式支持通配符(*、? 等),返回匹配的 key 列表,時間復雜度為 o(n),n 為數據庫中 key 的數量。
示例:
redis> keys n*
1) "name"
2) "nickname"type
語法:type key 返回 key 的值類型,如 string、hash、list 等,時間復雜度為 o(1)。
示例:
redis> type name
stringscan
語法:scan cursor [match pattern] [count count] 以游標方式迭代數據庫中的 key,返回游標和 key 列表,時間復雜度為 o(n),n 為數據庫中 key 的數量。
示例:
redis> scan 0
1) "0"
2) 1) "name"2) "type"
object
語法:object subcommand [arguments ...] 查詢和操作 key 對應對象的底層實現細節,如內存使用、編碼方式等,時間復雜度根據子命令不同而不同。
示例:
redis> object encoding name
"embstr"move
語法:move key db 將 key 移動到指定數據庫,返回 1 表示成功,0 表示失敗,時間復雜度為 o(1)。
示例:
redis> move name 1
(integer) 1dump
語法:dump key 返回 key 的序列化值,用于數據遷移,時間復雜度為 o(m),m 為 key 對應值的元素數量。
示例:
redis> dump name
"\x80\x04\x95\x03\x00\x00\x00\x00\x00\x00\x00\x8c\x04name\x94."migrate
語法:migrate host port key destination-db timeout [copy] [replace] [keys key ...] 將一個或多個 key 從當前實例遷移到目標實例,時間復雜度為 o(m),m 為 key 對應值的元素數量。
示例:
redis> migrate 192.168.1.100 6379 name 0 5000
okttl
語法:ttl key 返回 key 的剩余過期時間(秒),負值表示 key 不存在或沒有過期時間,時間復雜度為 o(1)。
示例:
redis> ttl name
(integer) 300pttl
語法:pttl key 返回 key 的剩余過期時間(毫秒),負值表示 key 不存在或沒有過期時間,時間復雜度為 o(1)。
示例:
redis> pttl name
(integer) 300000persist
語法:persist key 移除 key 的過期時間,返回 1 表示成功,0 表示 key 不存在或沒有過期時間,時間復雜度為 o(1)。
示例:
redis> persist name
(integer) 1expireat
語法:expireat key timestamp 為 key 設置過期時間戳(秒級時間戳),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> expireat name 1622589600
(integer) 1pexpireat
語法:pexpireat key milliseconds-timestamp 為 key 設置過期時間戳(毫秒級時間戳),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> pexpireat name 1622589600000
(integer) 1expire
語法:expire key seconds 為 key 設置過期時間(秒),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> expire name 300
(integer) 1pexpire
語法:pexpire key milliseconds 為 key 設置過期時間(毫秒),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> pexpire name 300000
(integer) 1rename
語法:rename key newkey 將 key 重命名為 newkey,若 newkey 已存在則覆蓋,時間復雜度為 o(1)。
示例:
redis> rename name username
okrenamenx
語法:renamenx key newkey 只有 newkey 不存在時才將 key 重命名為 newkey,返回 1 表示成功,0 表示失敗,時間復雜度為 o(1)。
示例:
redis> renamenx name username
(integer) 1sort
語法:sort key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc|desc] [alpha] [store destination] 對列表、集合或有序集合的元素進行排序,返回排序后的元素列表,時間復雜度為 o(n+m log m),n 為集合中元素數量,m 為返回元素數量。
示例:
redis> sort scores
1) "30"
2) "50"
3) "10"randomkey
語法:randomkey 返回數據庫中隨機 key,返回隨機 key,若數據庫為空則返回 null,時間復雜度為 o(1)。
示例:
redis> randomkey
"website"restore
語法:restore key ttl value [replace] 使用序列化值恢復 key,可設置過期時間,時間復雜度為 o(m),m 為 key 對應值的元素數量。
示例:
redis> restore name 300 "\x80\x04\x95\x03\x00\x00\x00\x00\x00\x00\x00\x8c\x04name\x94."
ok
String(字符串)
- strlen/append
- bitop/bitcount
- incr/incrby/decr/decrby/incrbyfloat
- set/get/mset/mget/setbit/getbit/getset
- setex/setnx/msetnx/psetex
- setrange/getrange
strlen
語法:strlen key 獲取 key 所儲存的字符串值的長度,返回長度值,時間復雜度為 O(1)。
示例:
redis> set name "John"
OK
redis> strlen name
(integer) 4append
語法:append key value 將 value 追加到 key 所存儲的字符串值的末尾,返回字符串的新長度,時間復雜度為 O(1)。
示例:
redis> append name " Smith"
(integer) 10
redis> get name
"John Smith"bitop
語法:bitop operation destkey key [key ...] 對一個或多個 key 的二進制位進行位運算,存儲結果于 destkey ,返回結果字符串的長度,時間復雜度為 O(N),N 為輸入字符串中最大的長度。
示例:
redis> set bitkey1 "\x01"
OK
redis> set bitkey2 "\x02"
OK
redis> bitop or bitkey_or bitkey1 bitkey2
(integer) 1bitcount
語法:bitcount key [start end] 計算 key 所儲存的字符串中,值為 1 的比特位的數量,可指定范圍,返回計數結果,時間復雜度為 O(N),N 為字符串長度。
示例:
redis> set binary "\x01\x02\x03"
OK
redis> bitcount binary
(integer) 8incr
語法:incr key 將 key 所儲存的值加 1 ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis> incr count
(integer) 11incrby
語法:incrby key increment 將 key 所儲存的值加上指定的 increment ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis> incrby count 5
(integer) 15incrbyfloat
語法:incrbyfloat key increment 將 key 所儲存的值加上指定的浮點數 increment ,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10.5
OK
redis> incrbyfloat count 2.3
"12.8"decr
語法:decr key 將 key 所儲存的值減 1 ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis> decr count
(integer) 9decrby
語法:decrby key decrement 將 key 所儲存的值減去指定的 decrement ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis>