Redis hash常用命令

什麼是redis的hash數據結構?

  1. redis的hash數據結構,其實就是string的升級版,它把string 數據結構的key value,中的value類型升級爲hash(和java的hash一樣的結構)
    Map<String, HashMap<String,String>> hash=new HashMap<String,HashMap<String,String>>();
  2. 每個 hash的存儲大小: 可以存儲 2的(32 - 1)方的 鍵值對(40多億)

redis的hash結構經典場景:存儲java對象

把一個Product對象,存儲進redis的hash結構

@Data
public class Product {
    //商品id
    private Long id;

    //商品名稱
    private String name;

    //商品價格
    private Integer price;

    //商品詳情
    private String detail;
}

HSET key field value

將哈希表 key 中的字段 field 的值設爲 value 。

HGET key field

獲取存儲在哈希表中指定字段的值。

127.0.0.1:6379> hset product:100 name iphone11
(integer) 1
127.0.0.1:6379> hget product:100 name
"iphone11"

HMSET key field1 value1 [field2 value2 ]

同時將多個 field-value (域-值)對設置到哈希表 key 中。

HMGET key field1 [field2 field3 …]

獲取所有給定字段的值

127.0.0.1:6379> hmset product:100 price 5000 detail "I love iphone"
OK
127.0.0.1:6379> hmget product:100 name price detail
1) "iphone11"
2) "5000"
3) "I love iphone"

HKEYS key

獲取指定hash中所有field值

127.0.0.1:6379> hkeys product:100
1) "name"
2) "price"
3) "detail"

HVALS key

獲取指定hash中所有value值

127.0.0.1:6379> hvals product:100
1) "iphone11"
2) "5000"
3) "I love iphone"

HGETALL key

獲取指定hash中所有field、value值

127.0.0.1:6379> hgetall product:100
1) "name"
2) "iphone11"
3) "price"
4) "5000"
5) "detail"
6) "I love iphone"

HLEN key

獲取指定hash中元素的個數

127.0.0.1:6379> hlen product:100
(integer) 3

HINCRBY key field data (整形)

給指定 field 對應的 value 值加上 data 數值

HINCRBYFLOAT key field data(浮點數)

給指定 field 對應的 value 值加上 data 數值

127.0.0.1:6379> hincrby product:100 price 100
(integer) 5100
127.0.0.1:6379> hgetall product:100
1) "name"
2) "iphone11"
3) "price"
4) "5100"
5) "detail"
6) "I love iphone"

HEXISTS key field

檢查指定的field是否存在

127.0.0.1:6379> hexists product:100 name
(integer) 1

HDEL key field1 [field2 fiedl3 …]

刪除一個或多個哈希表字段

127.0.0.1:6379> hdel product:100 name
(integer) 1
127.0.0.1:6379> hgetall product:100
1) "price"
2) "5100"
3) "detail"
4) "I love iphone"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章