[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及其优化(万字长文
- 下一篇: [Redis6]常用数据类型_Zset有