Redis之Hash類型詳解

數據結構

其實 redis的 hash類型就是一個嵌套map的結構, 其實就像一個小號的redis
在這裏插入圖片描述
可以看作是一張表 user:n 爲key, 但是表的列可以不同
在這裏插入圖片描述

hash的常用命令

  1. hset
    hset key field value
    將哈希表key中的域field的值設爲value
    如果key不存在,一個新的哈希表被創建並進行HSET操作
    如果field是哈希表中的一個新建域,並且值設置成功,返回1
    如果域field已經存在於哈希表中,舊值將被覆蓋,返回0

  2. hsetnx

    hsetnx key field value

    將哈希表key中的域field的值設置爲value,當且僅當域field不存在。

    如果field已經存在,該操作無效,返回0。

    如果key不存在,一個新哈希表被創建並執行HSETNX命令。

  3. hget

    hget key field

    返回哈希表key中給定域field的值

    如果域field存在,給定域的值,當給定域不存在或是給定key不存在時,返回nil

  4. hmset

    hmset key field value [field value …]

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

    如果命令執行成功,返回OK。當key不是哈希表(hash)類型時,返回一個錯誤

  5. hmget

    hmget key field [field …]

    返回哈希表key中,一個或多個給定域的值,順序和給定域參數的請求順序一樣

  6. hgetall

    hgetall key

    返回哈希表key中,所有的域和值。

    在返回值裏,緊跟每個域名(field name)之後是域的值(value),所以返回值的長度是哈希表大小的兩倍

    若key不存在,返回空列表

  7. hkeys

    hkeys key

    返回哈希表key中的所有域

    當key不存在時,返回一個空表

  8. hvals

    hvals key

    返回哈希表key中的所有值

    當key不存在時,返回一個空表

  9. hdel

    hdel key [key……]

    刪除哈希表key中的一個或多個指定域,不存在的域將被忽略

  10. hlen

    hlen key

    返回哈希表key中域的數量

    當key不存在時,返回0

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