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

Posted 唐火

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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哈希的主要内容,如果未能解决你的问题,请参考以下文章

Redis6常用数据类型列表集合哈希有序集合

Redis01_概述安装keyStringList列表Set集合Hash哈希Zset有序集合配置文件详解

REDIS6_分布式存储极致性能目录

Redis6--Jedis篇

REDIS6_分布式存储极致性能目录

REDIS6_分布式存储极致性能目录