博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5.Redis常用命令:Hash
阅读量:6895 次
发布时间:2019-06-27

本文共 3730 字,大约阅读时间需要 12 分钟。

  我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。

1、HSET key field value

将哈希表 key 中的字段 field 的值设为 value。如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。

127.0.0.1:6379> hset website google "www.google.com"(integer) 1127.0.0.1:6379> hget website google"www.google.com"127.0.0.1:6379> hset website google www.google.com(integer) 0127.0.0.1:6379> hget website google"www.google.com"

2、HGET key field 

获取存储在哈希表中指定字段的值 

127.0.0.1:6379> hset website google "www.google.com"(integer) 1127.0.0.1:6379> hget website google"www.google.com"127.0.0.1:6379> hset website google www.google.com(integer) 0127.0.0.1:6379> hget website google"www.google.com"

3、HEXISTS key field 

查看哈希表 key 中,指定的字段是否存在。如果哈希表含有给定字段,返回 1 。 如果哈希表不含有给定字段,或 key 不存在,返回 0 。

127.0.0.1:6379> hgetall website1) "google"2) "www.google.com"3) "baidu"4) "www.baidu.com"5) "yahoo"6) "www.yahoo.com"127.0.0.1:6379> hexists website baidu(integer) 1

4、HDEL key field1 [field2] 

删除一个或多个哈希表字段,不存在的字段将被忽略。返回值显示被成功删除字段的数量,不包括被忽略的字段。

127.0.0.1:6379> hgetall website1) "google"2) "www.google.com"3) "baidu"4) "www.baidu.com"5) "yahoo"6) "www.yahoo.com"127.0.0.1:6379> hdel website baidu yahoo(integer) 2127.0.0.1:6379> hgetall website1) "google"2) "www.google.com"

5、HMGET key field1 [field2]

获取所有给定字段的值

127.0.0.1:6379> hgetall website1) "google"2) "www.google.com"3) "baidu"4) "www.baidu.com"5) "yahoo"6) "www.yahoo.cn"127.0.0.1:6379> hmget website baidu yahoo1) "www.baidu.com"2) "www.yahoo.cn"

6、HMSET key field1 value1 [field2 value2 ]

同时将多个 field-value (域-值)对设置到哈希表 key 中。

127.0.0.1:6379> hgetall website1) "google"2) "www.google.com"3) "baidu"4) "www.baidu.com"5) "yahoo"6) "www.yahoo.cn"127.0.0.1:6379> hmset website sina www.sina.com netease 163.comOK127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 3) "baidu" 4) "www.baidu.com" 5) "yahoo" 6) "www.yahoo.cn" 7) "sina" 8) "www.sina.com" 9) "netease"10) "163.com"

7、HKEYS key

获取所有哈希表中的字段

127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 3) "baidu" 4) "www.baidu.com" 5) "yahoo" 6) "www.yahoo.cn" 7) "sina" 8) "www.sina.com" 9) "netease"10) "163.com"127.0.0.1:6379> hkeys website1) "google"2) "baidu"3) "yahoo"4) "sina"5) "netease"

8、HVALS key

获取哈希表中所有值

127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 3) "baidu" 4) "www.baidu.com" 5) "yahoo" 6) "www.yahoo.cn" 7) "sina" 8) "www.sina.com" 9) "netease"10) "163.com"127.0.0.1:6379> hvals website1) "www.google.com"2) "www.baidu.com"3) "www.yahoo.cn"4) "www.sina.com"5) "163.com"

9、HGETALL key

获取在哈希表中指定 key 的所有字段和值

127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 3) "baidu" 4) "www.baidu.com" 5) "yahoo" 6) "www.yahoo.cn" 7) "sina" 8) "www.sina.com" 9) "netease"10) "163.com"

10、HINCRBY key field increment

为哈希表 key 中的指定字段的整数值加上增量 increment 。返回增加之后的结果。

127.0.0.1:6379> hset configuration connections 10(integer) 1127.0.0.1:6379> hincrby configuration connections 5(integer) 15127.0.0.1:6379> hget configuration connections"15"

11、HINCRBYFLOAT key field increment

为哈希表 key 中的指定字段的浮点数值加上增量 increment 。

127.0.0.1:6379> hset configuration amount 10.33(integer) 1127.0.0.1:6379> hincrbyfloat configuration amount 4.67"15"127.0.0.1:6379> hget configuration amount "15"

12、HSETNX key field value

只有在字段 field 不存在时,设置哈希表字段的值。

127.0.0.1:6379> hgetall website1) "google"2) "www.google.com"127.0.0.1:6379> hsetnx website google hellogoogle(integer) 0127.0.0.1:6379> hsetnx website xiaomi www.mi.com(integer) 1127.0.0.1:6379> hgetall website1) "google"2) "www.google.com"3) "xiaomi"4) "www.mi.com"

13、HSCAN key cursor [MATCH pattern] [COUNT count] 

迭代哈希表中的键值对。

 

转载于:https://www.cnblogs.com/chanshuyi/p/5231876.html

你可能感兴趣的文章
【深度】Kubernetes在京东人工智能平台的应用
查看>>
深度学习原理之理解反向传播[1] --- 简单全连接网络(BP)
查看>>
android文章总结- 收藏集 - 掘金
查看>>
Windows下安装nvm、npm及node.js
查看>>
聊聊 rel=noopener
查看>>
前端UI组件复用工具
查看>>
jQuery学习笔记
查看>>
159. Longest Substring with At Most Two Distinct Characters
查看>>
利用PHP实现常用的数据结构之二叉树(小白系列文章五)
查看>>
Intellij Idea + spring-boot + thymleaf实现热部署
查看>>
js--string/正则表达式replace方法详解
查看>>
基于Vue2实现的仿手机QQapp(支持对话功能,滑动删除....)—— 聊聊开发过程中踩到的一些坑与解决方案,以及个人感悟...
查看>>
(三)java多线程之wait notify notifyAll
查看>>
[面经] [实习] Next Capital 实习 Summer 2017 OA
查看>>
如何选择职业方向
查看>>
那家CTO带头喊麦的直播公司,快要倒闭了
查看>>
想像亚马逊或 Netflix 一样酷?抱走敏捷转型五大秘籍
查看>>
揭秘码云:全球第二大代码托管平台的核心架构
查看>>
V8十年故事:从农场诞生的星球最强JS引擎
查看>>
AI一周热闻:周志华获IEEE技术成就奖;英伟达发布最小AI计算机
查看>>