1. 程式人生 > >Redis常用命令(1)——Key

Redis常用命令(1)——Key

DEL

格式:DEL key [key ...]

作用:刪除一個或多個 key。不存在的 key 會被忽略。

返回值:被刪除 key 的數量。

示例:

192.168.1.100:6379> set testkey 1

OK

# 刪除成功返回刪除key的個數

192.168.1.100:6379> del testkey

(integer) 1

# key不存在返回0

192.168.1.100:6379> del testkey

(integer) 0

EXISTS

格式:EXISTS key

作用:檢查 key 是否存在。

返回值:存在返回 1,否則返回 0 。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> exists testkey

(integer) 1

192.168.1.100:6379> del testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 0

EXPIRE

格式:EXPIRE key seconds

作用:為給定 key 設定生存時間,單位為秒,當 key 過期時,被自動刪除。對一個已經帶有生存時間的 key 執行 EXPIRE 命令,新指定的生存時間會取代舊的生存時間。PEXPIRE命令單位為毫秒。

返回值:設定成功返回 1 。key 不存在或者不能為 key 設定生存時間時,返回 0 。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expire testkey 5

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 0

EXPIREAT

格式:EXPIREAT key timestamp

作用:為 key 設定生存時間,時間為UNIX 時間戳,單位為秒。PEXPIREAT命令單位為毫秒。

返回值:設定成功返回 1 。key 不存在或者不能為 key 設定生存時間時,返回 0 。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expireat testkey 1486456903

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 0

KEYS

格式:KEYS pattern

作用:查詢符合pattern格式要求的key列表。pattern可使用如下萬用字元

?  僅與一個任意字元匹配。

*  與任意字元匹配。

[]  與可選的字元匹配。

\x  對x進行轉義。

返回值:符合pattern格式要求的key列表。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> keys test*

1) "testkey"

(1.92s)

192.168.1.100:6379> keys test?ey

1) "testkey"

(1.72s)

192.168.1.100:6379> del 'testkey'

(integer) 1

192.168.1.100:6379> keys test*

(empty list or set)

(1.71s)

PERSIST

格式:PERSIST key

作用:移除給定 key 的生存時間。

返回值:成功返回1,失敗或key不存在返回0。

示例:

192.168.1.100:6379> persist testkey

(integer) 0

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expire testkey 15

(integer) 1

192.168.1.100:6379> persist testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 1

SORT

格式:SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]

作用:對列表、集合、有序集合進行排序,返回排序的結果或儲存到destination中。預設按數字進行排序。

返回值:排序結果或destination元素的個數。

示例:

# 初始化資料

192.168.1.100:6379> sadd testkey 4

(integer) 1

192.168.1.100:6379> sadd testkey 3

(integer) 1

192.168.1.100:6379> sadd testkey 8

(integer) 1

# 對集合進行排序,預設為升序

192.168.1.100:6379> sort testkey

1) "3"

2) "4"

3) "8"

# 對集合進行降序排序

192.168.1.100:6379> sort testkey DESC

1) "8"

2) "4"

3) "3"

# 使用limit限制範圍

192.168.1.100:6379> sort testkey DESC limit 1 1

1) "4"

# 初始化資料

192.168.1.100:6379> set testkey_4 100

OK

192.168.1.100:6379> set testkey_3 50

OK

192.168.1.100:6379> set testkey_8 10

OK

# 使用by指定排序的參考key,用*匹配testkey的值

192.168.1.100:6379> sort testkey by testkey_* DESC

1) "4"

2) "3"

3) "8"

# 使用get返回關聯資料

192.168.1.100:6379> sort testkey by testkey_* DESC get testkey_*

1) "100"

2) "50"

3) "10"

# sort預設按照數字進行排序,會轉換為雙精度數字,對於字串直接使用sort會報錯,新增alpha可要求sort按照字典順序排序

192.168.1.100:6379> sadd testkey a

(integer) 1

192.168.1.100:6379> sadd testkey b

(integer) 1

192.168.1.100:6379> sadd testkey c

(integer) 1

192.168.1.100:6379> sort testkey

(error) ERR One or more scores can't be converted into double

192.168.1.100:6379> sort testkey alpha

1) "a"

2) "b"

3) "c"

TTL

格式:TTL key

作用:查詢設定了生存時間的key的剩餘時間,單位為秒。

返回值:正常情況下返回剩餘時間,如果key沒有設定生存時間返回-1,如果key不存在返回-2。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expire testkey 50

(integer) 1

192.168.1.100:6379> ttl testkey

(integer) 47

192.168.1.100:6379> ttl testkey

(integer) 29

192.168.1.100:6379> ttl testkey

(integer) -2

TYPE

格式:TYPE key

作用:返回key的型別

返回值:key的型別

示例:

# 字串型別

192.168.1.100:6379> set testkey1 2

OK

192.168.1.100:6379> type testkey1

string

#集合型別

192.168.1.100:6379> sadd testkey2 d

(integer) 1

192.168.1.100:6379> type testkey2

set

#列表型別

192.168.1.100:6379> lpush testkey3 d

(integer) 1

192.168.1.100:6379> type testkey3

list

# 雜湊型別

192.168.1.100:6379> hset testkey4 t t

(integer) 1

192.168.1.100:6379> type testkey4

hash

# 有序集合型別

192.168.1.100:6379> zadd testkey5 100 d

(integer) 1

192.168.1.100:6379> type testkey5

zset