欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

[Redis6]常用数据结构_Hash哈希

发布时间:2023/12/4 数据库 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [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哈希的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。