
一、哈希对象简介
几乎所有的编程语言都提供了哈希(hash)类型,它们的叫法可能是哈希、字典、关联数组
哈希又称散列
在Redis中,哈希类型是指键值本身又是一个键值对结构,形如value={ {field1,value1},...{fieldN,valueN}},Redis键值对和哈希类型二者的关系可以下图表示

一些特点:
存储多个键值对之间的映射,并且键值对不允许重复
在某一个固定的key中,其对应value中的field也不允许重复
散列存储的值既可以是字符串也可以是数字值
用户同样可以对散列存储的数字值执行自增操作或自减操作
散列在很多方面是一个微缩版的Redis,不少字符串命令都有相应的散列版本
熟悉文档数据库的读者可以将散列看作是文档数据库里面的文档,而熟悉关系数据库的读者可以将散列看作是关系数据库里面的行。因为“文档、行、散列”这三者都允许用户同时访问或修改一个或多个域
注意:哈希类型中的映射关系叫作field-value,注意这里的value是指field对应的值,不是键对应的值,请注意value在不同上下文的作用。
二、命令
常用命令
hset:设置值。如果设置成功会返回1,反之会返回0
hset key field value

hsetnx:它们的关系就像set和setnx命令一样,只不过作用域由键变为field

hget:获取值。如果键或field不存在,返回nil
hget key field

好,到这里会有人好奇,这里到底是怎么样的结构,能不能直观的看到这些记录,还是我在前几篇文章

本文介绍了Redis中的哈希对象,包括哈希对象的特性、命令操作、内部编码以及与字符串的比较。哈希类型适用于存储多个键值对,但无法为字段设置独立的过期时间。当字段数量较少且值较小,哈希内部编码为ziplist以节省内存。若需要单独设置过期时间或执行特定操作如SETRANGE,则建议使用字符串。此外,文章探讨了哈希在不同场景下的使用,如短网址生成、用户信息存储等。
最低0.47元/天 解锁文章
3706

被折叠的 条评论
为什么被折叠?



