Redis學習筆記 – 資料型別與API(1)Key
Key相關命令
1. 常用命令
命令 | 含義 | 時間複雜度 |
---|---|---|
keys | 查詢所有符合給定模式 pattern 的 key | O(N), N 為資料庫中 key 的數量 |
dbsize | 計算key的總數 | O(1) |
exists | 檢查key是否存在 | O(1) |
del | 刪除指定的key-value | O(1) |
expire、ttl、persist | 設定、檢視、去掉key的過期時間 | O(1) |
type | 檢視key的型別 | O(1) |
2. keys (遍歷key)
當key較多時,命令執行時間較長,會造成阻塞,慎用該命令。
- keys * (遍歷所有key)
- keys [pattern] (遍歷所有正規表示式匹配的key)
3. dbsize (計算key的總數)
127.0.0.1:6379> mset hello world hehe haha php good phe his
OK
127.0.0.1:6379> keys *
1) "hello"
2) "phe"
3) "php"
4) "hehe"
127.0.0.1:6379> keys he*
1) "hello"
2) "hehe"
127.0.0.1:6379> keys he[h-l]*
1) "hello"
2) "hehe"
127.0.0.1:6379> keys ph?
1) "phe"
2) "php"
127.0.0.1:6379> dbsize
(integer) 4
4. exists key (檢查key是否存在)
5. del key [key2 key3 …] (刪除指定的key-value,可一次刪除多個)
127.0.0.1:6379> exists hello
(integer) 1
127.0.0.1:6379> del hello php
(integer) 2
127.0.0.1:6379> exists hello
(integer) 0
127.0.0.1:6379> get hello
(nil)
6. expire、ttl、persist (設定、檢視、去掉key的過期時間)
- expire key seconds (key在seconds秒後過期)
- ttl key (檢視key剩餘過期時間)
大於等於0時,表示剩餘過期秒數
-1 表示key存在,並且沒有過期時間
-2 表示key已經不存在了
- persist key (去掉key的過期時間)
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> expire hello 20
(integer) 1
127.0.0.1:6379> ttl hello
(integer) 12
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379> ttl hello
(integer) -2
127.0.0.1:6379> get hello
(nil)
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> expire hello 20
(integer) 1
127.0.0.1:6379> ttl hello
(integer) 14
127.0.0.1:6379> persist hello
(integer) 1
127.0.0.1:6379> ttl hello
(integer) -1
127.0.0.1:6379> get hello
"world"
7. type key (檢視key的型別)
string
hash
list
set
zset
none
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> type a
string
127.0.0.1:6379> sadd myset 1 2 3
(integer) 3
127.0.0.1:6379> type myset
set
更多 Key 相關命令:http://www.redis.cn/commands….
相關內容:
Redis學習筆記 – 資料型別與API(1)Key
Redis學習筆記 – 資料型別與API(2)String
Redis學習筆記 – 資料型別與API(3)List
Redis學習筆記 – 資料型別與API(4)Set
Redis學習筆記 – 資料型別與API(5)Sorted Set
Redis學習筆記 – 資料型別與API(6)Hash