前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5.Redis常用命令:Hash

5.Redis常用命令:Hash

作者头像
陈树义
发布2018-04-13 17:32:29
7050
发布2018-04-13 17:32:29
举报
文章被收录于专栏:陈树义陈树义

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

1、HSET key field value

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

代码语言:javascript
复制
127.0.0.1:6379> hset website google "www.google.com"
(integer) 1
127.0.0.1:6379> hget website google
"www.google.com"
127.0.0.1:6379> hset website google www.google.com
(integer) 0
127.0.0.1:6379> hget website google
"www.google.com"

2、HGET key field 

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

代码语言:javascript
复制
127.0.0.1:6379> hset website google "www.google.com"
(integer) 1
127.0.0.1:6379> hget website google
"www.google.com"
127.0.0.1:6379> hset website google www.google.com
(integer) 0
127.0.0.1:6379> hget website google
"www.google.com"

3、HEXISTS key field 

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

代码语言:javascript
复制
127.0.0.1:6379> hgetall website
1) "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] 

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

代码语言:javascript
复制
127.0.0.1:6379> hgetall website
1) "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) 2
127.0.0.1:6379> hgetall website
1) "google"
2) "www.google.com"

5、HMGET key field1 [field2]

获取所有给定字段的值

代码语言:javascript
复制
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"
127.0.0.1:6379> hmget website baidu yahoo
1) "www.baidu.com"
2) "www.yahoo.cn"

6、HMSET key field1 value1 [field2 value2 ]

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

代码语言:javascript
复制
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"
127.0.0.1:6379> hmset website sina www.sina.com netease 163.com
OK
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"

7、HKEYS key

获取所有哈希表中的字段

代码语言:javascript
复制
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 website
1) "google"
2) "baidu"
3) "yahoo"
4) "sina"
5) "netease"

8、HVALS key

获取哈希表中所有值

代码语言:javascript
复制
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 website
1) "www.google.com"
2) "www.baidu.com"
3) "www.yahoo.cn"
4) "www.sina.com"
5) "163.com"

9、HGETALL key

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

代码语言:javascript
复制
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 。返回增加之后的结果。

代码语言:javascript
复制
127.0.0.1:6379> hset configuration connections 10
(integer) 1
127.0.0.1:6379> hincrby configuration connections 5
(integer) 15
127.0.0.1:6379> hget configuration connections
"15"

11、HINCRBYFLOAT key field increment

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

代码语言:javascript
复制
127.0.0.1:6379> hset configuration amount 10.33
(integer) 1
127.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 不存在时,设置哈希表字段的值。

代码语言:javascript
复制
127.0.0.1:6379> hgetall website
1) "google"
2) "www.google.com"
127.0.0.1:6379> hsetnx website google hellogoogle
(integer) 0
127.0.0.1:6379> hsetnx website xiaomi www.mi.com
(integer) 1
127.0.0.1:6379> hgetall website
1) "google"
2) "www.google.com"
3) "xiaomi"
4) "www.mi.com"

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

迭代哈希表中的键值对。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档