05 hash型別操作命令介紹

2021-10-16 09:47:37 字數 3992 閱讀 8596

3 常用命令總結

4 hash 型別資料操作的注意事項

新增或修改

hset key field value

hsetnx key field value # 設定乙個不存在的key的值

獲取資料

hget key field

hgetall key

刪除資料,可以刪除多個字段

hdel key field1 [field2]
eg:

localhost:6379> hset user name kobe

(integer) 1

localhost:6379> hset user age 18

(integer) 1

localhost:6379> hset user gender man

(integer) 1

localhost:6379> hget user name

"kobe"

localhost:6379> hget user age

"18"

localhost:6379> hget user gender

"man"

localhost:6379> hgetall user # 注意獲取所有的時候的返回格式

1)"name"

2)"kobe"

3)"age"

4)"18"

5)"gender"

6)"man"

localhost:6379> hdel user name

(integer) 1

localhost:6379> hgetall user

1)"age"

2)"18"

3)"gender"

4)"man"

eg:測試hsetnx

localhost:6379> hmset user name kobe age 18

oklocalhost:6379> hgetall user

1)"name"

2)"kobe"

3)"age"

4)"18"

localhost:6379> hsetnx user name wade # name屬性已經有值

(integer) 0

localhost:6379> hget user name # 所以不會修改,還是原先的值

"kobe"

localhost:6379> hsetnx user gender man

# gender是原先沒有的,所以可以成功設定

(integer) 1

localhost:6379> hget user gender

"man"

localhost:6379> hgetall user

1)"name"

2)"kobe"

3)"age"

4)"18"

5)"gender"

6)"man"

獲取雜湊表中所有的欄位名或字段值

hkeys key  # 獲取雜湊表中所有的字段

hvals key # 獲取雜湊表中所有字段值

eg:

localhost:6379> hmset user name kobe age 18 gender man

oklocalhost:6379> hkeys user

1)"name"

2)"age"

3)"gender"

localhost:6379> hvals user

1)"kobe"

2)"18"

3)"man"

新增/修改多個資料

hmset key field1 value1 field2 value2 …
獲取多個資料

hmget key field1 field2 …
eg:

localhost:6379> hmset user name kobe age 18 gender man

oklocalhost:6379> hgetall user

1)"name"

2)"kobe"

3)"age"

4)"18"

5)"gender"

6)"man"

localhost:6379> hmget user name age

1)"kobe"

2)"18"

localhost:6379> hdel user name age

(integer) 2

localhost:6379> hgetall user

1)"gender"

2)"man"

獲取雜湊表中字段的數量

hlen key
獲取雜湊表中是否存在指定的字段

hexists key field
eg:

localhost:6379> hmset user name kobe age 18 gender man

oklocalhost:6379> hlen user

(integer) 3

localhost:6379> hexists user name

(integer) 1 # 存在就返回0

localhost:6379> hexists user id

(integer) 0 # 不存在就返回0

localhost:6379>

設定指定欄位的數值資料增加指定範圍的值

hincrby key field increment

hincrbyfloat key field increment

eg:

localhost:6379> hgetall user

1)"name"

2)"kobe"

3)"age"

4)"18"

5)"gender"

6)"man"

localhost:6379> hincrby user age 2

(integer) 20

localhost:6379> hget user age

"20"

localhost:6379> hincrby user age -2 # 也可以是負數

(integer) 18

localhost:6379> hget user age

"18"

命令

說明hset

設定乙個key/value對

hget

獲得乙個key對應的value

hgetall

獲得所有的key/value對

hdel

刪除某乙個key/value對

hexists

判斷乙個key是否存在

hkeys

獲得所有的key

hvals

獲得所有的value

hmset

設定多個key/value

hmget

獲得多個key的value

hsetnx

設定乙個不存在的key的值

hincrby

為value進行加法運算

hincrbyfloat

為value加入浮點值

redis中hash型別介紹

在redis中,hash資料型別儲存的資料與mysql資料庫中儲存一條記錄極為相似,是乙個string型別的field和value的對映表,它特別適合用於儲存物件,但字段值只能是字串,不支援其他型別。在hash型別中,乙個key可以對應多個多個field,乙個field對應乙個value。將乙個物件...

Hash型別的命令

hash型別的命令主要有以下幾種 hset hget hmset hmget hdel hgetall hexists hkeys hvals 都較為簡單 此文有詳細介紹 返回hash表中元素個數 hlen key 返回hash表某個元素值的長度 hstrlen key field 設定hash表的...

Redis資料型別之Hash型別介紹

redis中的hashes型別可以看成具有string key和string value的map容器。所以該型別非常適合於儲存值物件的資訊。如username password和age等。如果hash中包含很少的字段,那麼該型別的資料也將僅占用很少的磁碟空間。每乙個hash可以儲存429496729...