1. 程式人生 > >redis-雜湊型別命令操作筆記

redis-雜湊型別命令操作筆記

雜湊型別

命令

1.賦值與取值

HSET key field value # 賦值
HGET key field # 取值

HMSET key field value [field value …]  # 多次賦值
HMGET key field [field …]              # 多次取值

HGETALL key # 獲取鍵中所有欄位和欄位值

HSET命令用來給欄位賦值,而HGET命令用來獲得欄位的值。用法如下:
redis> HSET car price 500
(integer) 1
redis> HSET car name BMW
(integer) 1
redis> HGET car name
"BMW"

當需要同時設定多個欄位的值時,可以使用HMSET命令。例如,下面兩條語句
HSET key field1 value1
HSET key field2 value2
可以用HMSET命令改寫成
HMSET key field1 value1 field2 value2

相應地,HMGET命令可以同時獲得多個欄位的值:
redis> HMGET car price name
1) "500"
2) "BMW"

2.判斷欄位是否存在

HEXISTS key field

HEXISTS命令用來判斷一個欄位是否存在。如果存在則返回1,否則返回0(如果鍵不存在也會返回0)。

3.當欄位不存在時賦值

HSETNX key field value

HSETNX中的“NX”表示“if Not eXists”(如果不存在),命令與HSET命令類似,區別在於如果欄位已經存在,HSETNX命令將不執行任何操作。

只不過HSETNX命令是原子操作,不用擔心競態條件。

4.增加數字

HINCRBY key field increment

雜湊型別沒有HINCR命令,但是可以通過HINCRBY key field 1

來實現,

redis> HINCRBY person score 60   
(integer) 60

5.刪除欄位

HDEL key field [field …]

HDEL命令可以刪除一個或多個欄位,返回值是被刪除的欄位個數:

redis> HDEL car price
(integer) 1
redis> HDEL car price
(integer) 0

6.只獲取欄位名或欄位值

HKEYS key

HVALS key

7.獲得欄位數量

HLEN key

書籤:列表型別