文档章节

Redis Hash

learn_more
 learn_more
发布于 2016/09/30 09:23
字数 637
阅读 178
收藏 0

Hash(哈希表)

域-值对,key不会重复,其实哈希表就像是一个只有String类型的Redis。

 

1、基本操作(CURD)

>hmset key field value [field value ...]

将多个 field-value (域-值)对设置到哈希表 key 中,新的域-值对会覆盖哈希表中已存在的域-值对。

 

>hset key field value

将单个 field-value (域-值)对设置到哈希表 key 中,新的域-值对会覆盖哈希表中已存在的域-值对。

 

>hsetnx key field value

将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操作无效。

 

>hmget key field [field ...]

返回哈希表 key 中,一个或多个给定域的值。如果key不存在则返回null.

 

>hget key field

返回哈希表 key 中,一个给定域的值。如果key不存在则返回null.

 

>hdel key field [field ...]

原子操作,删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

 

2、扩展操作

>hgetall key

返回哈希表 key 中所有的域-值对,以列表形式返回,奇数索引下的值为域,偶数索引下的值为域对应的值,数据量大时尽量不用。

 

>hkeys key

返回哈希表 key 中的所有域,数据量大时尽量不用。

 

>hvals key

返回哈希表 key 中的所有域对应的值,数据量大时尽量不用。

 

>hexists key field

查看哈希表 key 中,给定域 field 是否存在。

 

>hlen key

返回哈希表 key 中域的数量。

 

>hstrlen key field

返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度(string length)。

 

>hscan key cursor [MATCH pattern] [COUNT count]

通过游标遍历哈希表,每次批量返回一定数量的数据,他比 hkeys hvals hgetall 都要好,原因是数据量大时,他们都会被阻塞。

 

3、修改操作 i++

>hincrby key field increment

为哈希表 key 中的域 field 的值加上增量 increment 。增量也可以为负数,相当于对给定域进行减法操作。如果不存在默认初始化为0然后进行对应的加减操作。

 

>hincrbyfloat key field increment

为哈希表 key 中的域 field 加上浮点数增量 increment,增量也可以为负数,相当于对给定域进行减法操作 。如果哈希表中没有域 field ,那么 hincrbyfloat 会先将域 field 的值设为 0 ,然后再执行加法操作。

 

 

 

 

 

 

 

 

© 著作权归作者所有

上一篇: Redis List
下一篇: Redis SortedSet
learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
加载中

评论(0)

redis源码分析之内存布局

介绍 众所周知,redis是一个开源、短小、高效的key-value存储系统,相对于memcached,redis能够支持更加丰富的数据结构,包括: 字符串(string) 哈希表(map) 列表(list) 集合(set) ...

wangdy
2016/07/05
33
0
ThinkPHP扩展,实现Redis的CURD操作。

接下为将以ThinkPHP作为MVC开发框架,详细介绍Redis的CURD操作。需要说明的是,在ThinkPHP中本身并不支持Redis开发环境,只支持使用Redis开发简单的数据缓存功能。所以我们必须要通过扩展功能...

VHUOI
2016/11/22
870
3
初学Redis(2)——用Redis作为Mysql数据库的缓存

用Redis作Mysql数据库缓存,必须解决2个问题。首先,应该确定用何种数据结构存储来自Mysql的数据;在确定数据结构之后,还要考虑用什么标识作为该数据结构的键。 直观上看,Mysql中的数据都是...

Airship
2016/01/25
51
0
(四)Redis快速入门-Redis数据类型Hash(哈希)

(四)Redis快速入门-Redis数据类型Hash(哈希) 我的系统版本为CentOS7.5,redis版本5.0.4 Hash(哈希) Redis hash 是一个键值(key=>value)对集合。 Redis hash 是一个 string 类型的 fiel...

Super_RD
2019/04/25
0
0
python - hash类型操作

Redis在内存中存储hash类型是以name对应一个字典形式存储的 常用操作 在name对应的hash中获取根据key获取value hget(name,key) 在name 对应的hash 中设备键值对 hset(name, key, value) 在n...

_周小董
2018/02/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务-(Hystrix应用及原理)

Hystrix 的应用及原理 一.通过配置文件的方式使用hystrix 二.演示断路效果 三.通过图片查询断路流程 四.注解的方式演示hystrix this.metrics = initMetrics(metrics, this.commandGroup, th...

这很耳东先生
19分钟前
73
0
如何将旧Mac的数据迁移到新的MacBook Pro?

最新版的MacBook Pro已经上市,具有超凡魅力的Touch Bar开创了一个新时代。苗条的设计和华丽的显示效果也起到了推动运动的作用……!将数据从旧Mac传输到新Mac不再是一件漫长的事。您只需几个...

mac小叮当
21分钟前
32
0
推荐一款好用的第三方的windows远程管理工具

iis7远程桌面连接工具,又叫做iis7远程桌面管理软件,是一款绿色小巧,功能实用的远程桌面管理工具,其界面简洁,操作便捷,能够同时远程操作多台服务器,并且多台服务器间可以自由切换,适用...

汉美丽
25分钟前
59
0
使用.text()仅检索未嵌套在子标记中的文本

如果我有这样的html: <li id="listItem"> This is some text <span id="firstSpan">First span text</span> <span id="secondSpan">Second span text</span></li> 我正在尝试......

javail
31分钟前
45
0
MySQL调优系列——如何提高MySQL的查询效率

1、对查询进行优化,避免全表扫描,首先应考虑在where及order by涉及的列上建立索引。 2、避免在where子句对字段进行null值判断,否则会导致引擎放弃使用索引而进行全表扫描。 3、应尽量避免...

须臾之余
32分钟前
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部