Redis學習筆記 - 數據類型與API(1)Key

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)Hashphp

相關文章
相關標籤/搜索