哈希

哈希,也叫字典、map、關聯數組。
在redis中,哈希類型,是指鍵值本身,又是一個鍵值對結構。
哈希類型的映射關係叫做 field-value。


命令

  • 設置值 hset key field value
  • 獲取值 hget key field
  • 刪除field hdel key field [field ...]
  • 計算field的個數 hlen key
  • 批量設置或獲取 field-value
    hmset key field value [field value ...]
    hmget key field [field ...]
  • 判斷field是否存在 hexists key field
  • 獲取所有field hkeys key
  • 獲取所有value hvals key
  • 獲取所有的 field-value hgetall key 如果哈希元素個數較多,會存在阻塞redis的可能。

內部編碼

  • ziplist (壓縮列表) 節省內存,適用於小數據量的 ,field個數小於512個,value小於64字節
  • hashtable (哈希表)

使用場景

哈希類型和關係型數據庫有兩點不同:

  • 哈希類型是稀疏的。
  • 關係型數據庫可以做複製的關係查詢。

緩存用戶信息方案

  • 原生字符串類型:每個屬性一個鍵。
    set user:1:name tom
    set user:1:age 12
    set user:1:city beijing

  • 序列化字符串類型:將用戶信息序列化後用一個鍵保存。
    set user:1 serialize (userInfo)

  • 哈希類型:每個用戶屬性使用一對field-value,但是隻用一個鍵保存。
    hmset user:1 name tom age 12 city beijing

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