新聞中心
redis是一個開源的,先進的key-value存儲,屬于非關(guān)系型緩存數(shù)據(jù)庫,通常被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器。redis一共有五種基本的數(shù)據(jù)類型,String類型、hash類型、list類型以及set(無序集合)和zset(有序集合),本篇文章為大家分享一下Hash類型使用方法。

哈希類型是指鍵值對里的value本身存儲的也是一個個的KV鍵值對,類似于python中的dict和java中的map集合。
hash_value={undefined{field1,value1},…{fieldN,valueN}}
hkey–>hvalue
hvalue{k1:v1 ,k2:v2 ,k3:v3…}
基本操作
賦值
散列操作不區(qū)分插入和更新,當(dāng)設(shè)置一個field的時候如果不存在的話表示新增,如果已經(jīng)存在的話則表示更新,之前的值會被覆蓋掉。當(dāng)設(shè)置值的時候如果field在之前不存在的話則返回1,視為新增,如果field已經(jīng)存在的話,返回0,視為更新。
hset
第一次賦值的時候因為k1不存在,是新增field操作,返回值是1,第二次k1已經(jīng)存在了,是更新操作,返回值是0.
使用hmset一次賦多個值:
hmset
[
…]
使用hsetnx只有當(dāng)指定的field不存在時才賦值,這個是為了避免覆蓋掉已有的值:
hsetnx
返回值表示是否賦值成功,返回1表示這個field之前并不存在,此次賦值成功,返回0表示指定的field之前就已經(jīng)存在,此次賦值失敗。
取值
hget一次取一個值,hmget一次取出多個值:
hget
``hmget
[
…]
使用hgetall一次取出全部的field和value:
hgetall
用于獲取hash表中的field集合和value集合:
hkeys
``hvals
返回值是一個列表:
總結(jié)一下:
hgetall 獲取所有的field和value,組合成一個list返回``hkeys 獲取所有的key集合,相當(dāng)于java中的keySet()``hvals 獲取所有的value集合,相當(dāng)于java中的valueSet()
判斷field是否已存在
hexists用于判斷在指定的hash表中某個field是否已存在:
hexists
返回值是1或0,返回1表示指定的field已經(jīng)存在,返回0表示不存在。
獲取hash表中的field個數(shù)
使用hlen獲取指定的hash表中field的個數(shù):
hlen
field自增
使用hincrby對某個整數(shù)類型的field一次自增某個整數(shù)量:
hincrby
刪除
要刪除hash表中的某個field,使用hdel:
hdel
[
…]
hdel的返回值是成功刪除的field的個數(shù)。
可以一次刪除多個filed:
返回值是2表示成功刪除了兩個field。
要刪除hash表本身使用del命令:
del是用于刪除key即hash表本身的,hdel是用于刪除hash表中的field的。
網(wǎng)站標題:Redis數(shù)據(jù)類型:Hash使用方法
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/dpipcij.html


咨詢
建站咨詢
