Redis的Hash类型数据常用命令解析
hello。你好呀,我是灰小猿,一个超会写bug的程序猿!
上一篇文章我们介绍了在Redis中的string类型数据常用命令的使用,今天,我接着和大家分享Redis五大数据类型中的第二个数据类型——Hash类型中常用的命令操作:
Hash类型
Hash类型是一个String类型的field(字段)和value(值)的映射表,它的作用是可以用来存储我们定义的数据对象,所以简单来说它是一个key下面存储了多个key-value的情况,给大家简单的话一个Hash的结构图:
接下来我们来简单讲一下在Redis中对于Hash这种数据类型,常用的几个命令,
设置一个Hash数据
设置Hash数据所使用的命令不是SET,而是HMSET,你可以理解为H代表Hash的意思,M代表Map的意思,该命令的格式如下:
HMSET key fieId1 value1 [fieId2 value2…]
- key为这个Hash数据对应的唯一性索引
- field为下面存储的一个键值对的键
- value为该键对应的值
如我们设置key为“myhash”,里面存储的field分别为name-huixiaoyuan、sex-nan、age-3的三个键值对
127.0.0.1:6379> HMSET myhash name huixiaoyuan sex nan age 3
OK
获取指定哈希表中所有的字段和值
查看指定哈希表中所有的字段和值的命令是HGETALL,作用是取出该hash中所有的数据,格式如下
HGETALL key
- 其中key为对应着这个Hash数据的索引
如我们查看刚才设置的hash数据
127.0.0.1:6379> HGETALL myhash
1) "name"
2) "huixiaoyuan"
3) "sex"
4) "nan"
5) "age"
6) "3"
获取存储在哈希表中指定字段的值
上一个命令是获取所有的字段,那么现在这个命令是只获取指定哈希表中指定字段的值,命令的格式如下:
HGET key field
- key哈希表的索引
- field获取的值对应的字段
如我们获取上面的哈希表中字段为name对应的值
127.0.0.1:6379> HGET myhash name
"huixiaoyuan"
删除一个或多个哈希表字段
删除一个或多个哈希表字段的命令是HDEL,该命令可以删除指定哈希表中指定的字段,以及其对应的值,格式如下:
HDEL key field1 [field2…]
- key为指定的哈希表的索引
- field为要删除的值对应的字段,如果要删除多个就以空格分开
如我们要删除索引为“myhash”的哈希表中值为“3”,对应字段为“age”的字段和值为“nan”,对应字段为“sex”的两个字段。
127.0.0.1:6379> HGET myhash name
"huixiaoyuan"
127.0.0.1:6379> HDEL myhash age sex
(integer) 2
127.0.0.1:6379> HGETALL myhash
1) "name"
2) "huixiaoyuan"
获取哈希表中字段的数量
该命令可以获取指定哈希表中字段的数量,格式如下:
HLEN key
- key为指定的哈希表的索引
127.0.0.1:6379> HLEN myhash
(integer) 1
获取哈希表中的所有字段
该命令可以获取指定哈希表中所有的字段,但是不返回字段对应的值,格式如下:
HKEYS key
- key为 指定的哈希表的索引
127.0.0.1:6379> HKEYS myhash
1) "name"
获取哈希表中所有的值
上一个命令是获取到指定哈希表中所有的字段,但是不返回字段对应的值,那么这个命令就是获取到所有的值,而不返回其对应的字段,格式如下:
HVALS key
- key为 指定的哈希表的索引
127.0.0.1:6379> HVALS myhash
1) "huixiaoyuan"
以上就是Redis中hash类型数据中最常用的几个命令的使用方法,
我是灰小猿,我们下期见!
- 点赞
- 收藏
- 关注作者
评论(0)