Redis資料型別之雜湊(Hash)命令

2021-09-29 20:48:26 字數 2841 閱讀 1058

redis的hash型別是乙個string型別的域(field)和值(value)的對映表,hash型別常常用來儲存物件資訊

設定雜湊表域的值

hset命令:為雜湊表的域設值

命令格式:

hset key field value
將雜湊表key中的field的值設定為value。key不存在時會建立乙個key再操作。如果field已經存在雜湊表中,那麼新值會覆蓋舊值

127.0.0.1:6379[4]> hset student1 stuname 'liuhefei'

(integer) 1

127.0.0.1:6379[4]> hset student1 stuid 20180001

(integer) 1

127.0.0.1:6379[4]> hset student1 height 171

(integer) 1

127.0.0.1:6379[4]> hset student1 weight 75

(integer) 1

127.0.0.1:6379[4]> hset student1 weight 74

(integer) 0

在雜湊表中如果field是乙個新建域,並且hset操作成功了,則將會返回1,;如果雜湊表已經存在了field,那麼在新值覆蓋舊值後,將會返回0

hsetnx命令:為雜湊表不存在的域設值

命令格式:

hsetnx key field value
當且僅當域field不存在時,將雜湊表key中的field的值設值為value。如果存在field,那麼此命令將會執行無效

127.0.0.1:6379[4]> hsetnx student1 motto 'i like redis'

(integer) 1

127.0.0.1:6379[4]> hsetnx student1 motto 'i like redis'

(integer) 0

hmset命令:設定多個域和值到雜湊表中

命令格式:

hmset key field value [field value ...]
將乙個或多個域-值(field-value)對設定到雜湊表key中

127.0.0.1:6379[4]> hmset student2 stuname 'xiaozhao' stuid 20181762 weigth 73 height 175

ok

hkeys命令:獲取雜湊表中所有的域

命令格式:

hkeys key
返回包含這個雜湊表中所有域的表。當key不存在時,返回乙個空表

127.0.0.1:6379[4]> hkeys student1

1)"stuname"

2)"stuid"

3)"height"

4)"weight"

5)"motto"

hvals命令:獲取雜湊表中所有域的值

命令格式:

hvals key
127.0.0.1:6379[4]> hvals student1

1)"liuhefei"

2)"20180001"

3)"171"

4)"74"

5)"i like redis"

雜湊表統計

hlen命令:統計雜湊表中域的數量

命令格式:

hlen key
127.0.0.1:6379[4]> hlen student1

(integer) 5

hstrlen命令:統計域的值的字串長度

redis版本號》=3.2.0的支援

命令格式:

hstrlen key field
127.0.0.1:6379[4]> hstrlen student1 weight

(integer) 2

為雜湊表中的域加上增量值

hincrby命令:為雜湊表中的域加上增量值

命令格式:

hincrby key field increment
這個增量可以是乙個負數,相當於減法操作,如果key不存在,則會建立乙個新的雜湊表key,如果field不存在,則會把field初始化為0,然後執行命令

127.0.0.1:6379[4]> hmget student1 height weight

1)"171"

2)"74"

127.0.0.1:6379[4]> hincrby student1 height 2

(integer) 173

127.0.0.1:6379[4]> hincrby student1 weight 2

(integer) 76

hexists命令:判斷雜湊表中的域是否存在

命令格式:

hexists key field
如果存在返回1,不存在返回0

127.0.0.1:6379[4]> hexists student1 weight

(integer) 1

127.0.0.1:6379[4]> hexists student1 age

(integer) 0

Redis 資料型別之雜湊型別

營口小書生 2017 05 11 15 26 redis 有很多種型別,現在我們不用想太多,看此篇文章,你只需要記得你 雜湊型別 就好 雜湊型別顧名思義就是字段分開儲存的,可以自由更改值,不需要先讀取整篇內容在更改其中乙個 然後在儲存更新原有的,這樣是不是很簡單啊,還能保證資料的一致性,不用擔心改錯...

Redis資料型別之雜湊型別 Redis系列三

1 賦值與取值 hset key field value 給字段賦值 hget key field 獲取字段值 hmset key field value field value 集體賦值 hmget key field field.集體取值 hgetall key 全部取出 2 判斷字段存在 he...

redis基礎之資料型別 雜湊型別

redis是採用字典結構以鍵值對的形式儲存資料的,而雜湊型別 hash 的鍵值也是一種字典結構,其儲存了字段和字段值的對映,但字段值只能是字串,不支援其他資料型別,也就是說,雜湊型別不能巢狀其他的資料型別。乙個雜湊型別鍵可以包含至多2 32 1個字段。除了雜湊型別,redis的其他資料型別同樣不支援...