[Redis6]常用数据结构_Hash哈希
生活随笔
收集整理的這篇文章主要介紹了
[Redis6]常用数据结构_Hash哈希
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hash哈希
簡介
Redis hash 是一個鍵值對集合。
Redis hash是一個string類型的field和value的映射表,hash特別適合用于存儲對象。
類似Java里面的Map<String,Object>
用戶ID為查找的key,存儲的value用戶對象包含姓名,年齡,生日等信息,如果用普通的key/value結構來存儲
主要有以下2種存儲方式:
每次修改用戶的某個屬性需要,先反序列化改好后再序列化回去。開銷較大。
用戶ID數據冗余
通過 key(用戶ID) + field(屬性標簽) 就可以操作對應屬性數據了,既不需要重復存儲數據,也不會帶來序列化和并發修改控制的問題
數據結構
Hash類型對應的數據結構是兩種:ziplist(壓縮列表),hashtable(哈希表)。
當field-value長度較短且個數較少時,使用ziplist,否則使用hashtable。
常用命令
hset [key][field][value]給[key]集合中的 [field]鍵賦值[value]
hget [key1][field]從[key1]集合[field]取出 value
hmset [key1][field1][value1][field2][value2】… 批量設置hash的值
hexists[key1][field] 查看哈希表 key 中,給定域 field 是否存在。
hkeys [key] 列出該hash集合的所有field
hvals [key] 列出該hash集合的所有value
hincrby [key][field][increment] 為哈希表 key 中的域 field 的值加上增量 1 -1
hsetnx [key][field][value] 將哈希表 key 中的域 field 的值設置為 value ,當且僅當域 field 不存在 .
總結
以上是生活随笔為你收集整理的[Redis6]常用数据结构_Hash哈希的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转:跳点搜索算法JPS及其优化(万字长文
- 下一篇: Scrapy的基础知识