Redis(七):Hash哈希数据类型详解

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

实例:

127.0.0.1:6379>  HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
OK
127.0.0.1:6379>  HGETALL runoobkey
1) "name"
2) "redis tutorial"
3) "description"
4) "redis basic commands for caching"
5) "likes"
6) "20"
7) "visitors"
8) "23000"

1、HASH常用命令

1.1、hset、hmget

127.0.0.1:6379> hset myhash field v1	//set一个key-value
(integer) 1
127.0.0.1:6379> hget myhash field	//获取一个字段值
"v1"
127.0.0.1:6379> hset myhash field2 v2 field3 v3	//set多个key-value
(integer) 2
127.0.0.1:6379> hmget myhash field2 field3	//获取多个字段值
1) "v2"
2) "v3"
127.0.0.1:6379> hgetall myhash	//获取hash中全部数据
1) "field"
2) "v1"
3) "field2"
4) "v2"
5) "field3"
6) "v3"

1.2、hdel

127.0.0.1:6379> hgetall myhash
1) "field"
2) "v1"
3) "field2"
4) "v2"
5) "field3"
6) "v3"
127.0.0.1:6379> hdel myhash field	//删除指定的key字段以及对应的value值。
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "v2"
3) "field3"
4) "v3"
127.0.0.1:6379> 

1.3、hlen

127.0.0.1:6379> hlen myhash	//获取hash字段长度
(integer) 2

1.4、HEXISTS

127.0.0.1:6379> HEXISTS myhash foeld2	//判断hash中指定字段是否存在
(integer) 0
127.0.0.1:6379> HEXISTS myhash field2
(integer) 1

1.5、hkeys、hvals

127.0.0.1:6379> hkeys myhash	//获取所有field
1) "field2"
2) "field3"
127.0.0.1:6379> hvals myhash	//获取所有value
1) "v2"
2) "v3"

1.6、hincrby、hsetnx

127.0.0.1:6379> hset myhash field4 1	
(integer) 1
127.0.0.1:6379> HINCRBY myhash field4 1	//指定增量
(integer) 2
127.0.0.1:6379> HINCRBY myhash field4 -2
(integer) 0
127.0.0.1:6379> HSETNX myhash hield5 v5//如果不存在可以设置,存在不可以设置
(integer) 1
127.0.0.1:6379> HSETNX myhash hield5 v6
(integer) 0

2、hash总结

hash类型更适合对象的存储,String类型更是个字符串存储!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chrome Dev Summit 2017参会笔记

作者 | 高磊 编辑 | 尾尾 为期两天的 Chrome Dev Summit 2017 于 10月23日~24日在美国旧金山举办。由于我们近期和Google的合作较多,对Google的动作也比较关注,所以受邀参加了这次的Chrome Dev Summit (CDS)。本文是我在现场做的…

Redis(八):Zset有序集合数据类型详解

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集合是通过哈希表实现的,…

Redis(九):Redis特殊类型之geospatial

朋友的定位,附近的人,位置共享,打车距离 redis在3.2就已经推出了geospatial!两地之间的距离,方圆几里的人!都可以用它实现 这个需要把你所在地的经纬度输进去,我们可以在http://www.jsons.cn/ln…

九个案例简述Web设计原则:简洁清晰

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容,同时会提供相应的实际案例及资源下载。欢迎关注OpenWeb开发者,订阅《Web设计指南》。 前言 《Web设计指南》是专门为广大Web内容生态提供一套简单实用的设计指南&a…

Redis(十):Redis特殊类型之Hyperloglog基数统计

redis 2.8.9版本就更新了Hyperloglog数据结构! Hyperloglog:基数统计算法!0.81%的错误率,不过统计大量数据可以忽略! 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 …

W3C近期要闻:与Mozilla MDN合作联合开发Web平台文档

作者 | W3C中国 「OpenWeb开发者」依托于BOW(Brillant Open Web)团队,是一个专门的 Web 技术建设小组,致力于推动 Open Web 技术的发展,将不定期为读者同步W3C要闻。 注:由于微信不支持外链,了解…

Redis(十一):Redis特殊类型之Bitmap位图

1、位存储 只有0和1两种状态! Bitmap 位图:数据结构,都是操作二进制位来进行记录 登录/未登录 活跃/不活跃 打卡 两个状态的都可以使用Bitmap! 2、常用命令 2.1、用Bitmap来记录 周一到周日的登陆情况 127.0.0.1:6379> …

移动Web加速技术月报第2期

作者 | Brilliant Open Web 团队breezet、shdong 编辑 | 尾尾 为推进Web技术的发展,Brilliant Open Web团队特推出每月一期的《移动Web加速技术月报》,该月报将整理较流行的移动Web加速技术,并跟进各项技术的进展和发展方向,以期…

Redis(十二):Redis事务的基本操作

1、Redis事务概念 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。 总结说&…

大型网站HTTPS 实践(一)| HTTPS 协议和原理

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS。本文就着重介绍了 HTTPS 协议涉及到的重要知识点和平时不太容易理解的盲区,希望能对大家理解 HTTPS 协议有帮助。百度 HTTPS 性能优化涉及到大量内容…

MongoDB(一):简介

1、MongoDB概述 MongoDB 是由C语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一款流行的开源文档型…

大型网站HTTPS实践:HTTPS对性能的影响

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS。百度 HTTPS性能优化涉及到大量内容,从前端页面、后端架构、协议特性、加密算法、流量调度、架构和运维、安全等方面都做了大量工作。本系列的文章将…

Redis(十三):Redis实现乐观锁

1、悲观锁与乐观锁 乐观锁和悲观锁是一种程序设计思想,而不是具体的代码。乐观锁和悲观锁应用的场景有很多,在数据库和多线程等等都会用到。 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次…

PWA将带来新一轮大前端技术洗牌?

作者 | 彭星 编辑 | 尾尾 一、回顾历史:移动时代之初,Web遭遇两大枷锁 Web 在移动时代遭遇两大枷锁1.Web 在移动时代遭遇两大枷锁 当 Web 自信满满,步入移动时代之时,它还没有做好充足的准备。 回顾 2014 到 2015 年那段时间…

Redis(十四):Jedis

Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件&#xff0c;必须对Jedis熟悉才能写成漂亮的代码&#xff01; 1、新建Maven工程&#xff0c;导入对应依赖 <dependencies><dependency><groupId>redis.clients</groupId>&l…

高级精致智能快捷的Web设计原则案例

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容&#xff0c;同时会提供相应的实际案例及资源下载。关注OpenWeb开发者&#xff0c;回复“设计指南”&#xff0c;即可获取已发布资源。 设计原则之高级精致 简洁并不等于粗糙没有细节&#x…

Linux系列(一):简介与目录结构

1、Linux简介 1.1、起源 Linux出现于1991年&#xff0c;是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成 1.2、Linux特点 多用户&#xff0c;多任务&#xff0c;丰富的网络功能&#xff0c;可靠的系统安全&#xff0c;良好的可移植性&#xff0c;…

日常问题——解决mac下 ssh: connect to host localhost port 22: Connection refused

问题描述&#xff1a; 今天使用ssh 登陆本地时即使用ssh localhost出现了 ssh: connect to host localhost port 22: Connection refused 错误&#xff01; 然后在网上看了很多的解决方案&#xff0c;也都是千篇一律&#xff0c;大多数是针对ssh安没安装的&#xff1f;那肯定是…

大型网站的HTTPS实践:基于协议和配置的优化

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索&#xff0c;默认会将 HTTP 请求跳转成 HTTPS。百度 HTTPS性能优化涉及到大量内容&#xff0c;在前端页面、后端架构、协议特性、加密算法、流量调度、架构和运维、安全等方面都做了大量工作。本系列的文章将…

初识Hadoop:大数据与Hadoop概述

1、大数据概述 大数据&#xff08;big data&#xff09;&#xff0c;IT行业术语&#xff0c;是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信…