Redis應用(三)---散列類型hash

介紹

redis的散列類型不能嵌套其他數據類型,它存儲了字段和字段值的映射,是一種字典結構,但是字段值只能是字符串String。
散列類型適合存儲對象:使用對象類別和ID構成鍵名,用字段表示對象的屬性,字段值存儲屬性值。

運用場景

例如我們需要在mysql中存一張汽車資料表

ID color name price
1 黑色 寶馬 50萬
2 白色 奧迪 100萬
3 藍色 奔馳 200萬

如果此時業務需要爲寶馬牌子的車增加生產日期

ID color name price date
1 黑色 寶馬 50萬 2019-11-01
2 白色 奧迪 100萬
3 藍色 奔馳 200萬

從表中可以看出ID爲2,3的兩條記錄不需要這個date屬性。
在現實業務中經常會出現這種同一張表不同記錄需要維護不同屬性的場景,久而久之表中的冗餘字段就會越來越多。

redis的散列類型就不存在這個問題

使用hash類型存儲對象

1.hset/hget 設置/獲取單個字段屬性的值
在這裏插入圖片描述
在這裏插入圖片描述
2.hmset/hmget 設置/獲取多個屬性值
在這裏插入圖片描述
3.hgetall key
可以返回對象的所有字段和屬性值
在這裏插入圖片描述
返回的是字段和字段值組成的列表,不是很直觀,但是在業務中可以將返回的結果封裝成對象處理
4.hexists key field
用來判斷一個字段是否存在。如果存在返回1,否則返回0
在這裏插入圖片描述
5.hsetnx key field value
當字段不存在時賦值
hsetnx和hset命令類似,區別在於如果字段已經存在,hsetnx將不執行任何操作。
在這裏插入圖片描述
6.刪除字段
hdel key field
可以刪除一個或多個字段,返回值是被刪除的字段個數
在這裏插入圖片描述

7.只獲取字段名和只獲取字段值
hkeys key
hvals key

8.獲取字段數量
hlen key

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章