Redis五大数据类型之Hash

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis五大数据类型之Hash相关的知识,希望对你有一定的参考价值。

Redis 概述

【Redis】概述以及启动Redis并进入Redis

五大数据类型

1.String(字符串)

【Redis】五大数据类型之String

2.List(列表)

【Redis】五大数据类型之List

3.Set(集合)

【Redis】五大数据类型之Set

4.Hash(哈希)

Map集合,key-map!
这时候这个值是一个map集合!
hash本质和String类型没有太大区别,还是一个简单的key-vlaue! set myhash field wanzi
命令为h开头

hset 、hget、hmset(set多个)、hmget(获取多个)、hgetall(查看全部)、hdel(删除)






127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> hset myhash field1 wanzi # set一个具体 key-vlaue
(integer) 1
127.0.0.1:6379> hget myhash field1 # 获取一个字段值
"wanzi"
127.0.0.1:6379> hmset myhash field1 hello field2 world # set多个 key-vlaue
OK
127.0.0.1:6379> hmget myhash field1 field2 # 获取多个字段值
1) "hello"
2) "world"
127.0.0.1:6379> hgetall myhash # 获取全部的数据
1) "field1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379> hdel myhash field1 # 删除hash指定key字段!对应的value值也就消失了
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
获取长度 hlen

127.0.0.1:6379> hmset myhash field1 hello field2 world
OK
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
3) "field1"
4) "hello"
127.0.0.1:6379> hlen myhash # 获取hash表的字段数量
(integer) 2
hexists 判断hash中指定字段是否存在

127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
3) "field1"
4) "hello"
127.0.0.1:6379> hexists myhash field1
(integer) 1
127.0.0.1:6379> hexists myhash field3
(integer) 0
hkeys 只获得所有field

hvals 只获得所有value

127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
3) "field1"
4) "hello"
127.0.0.1:6379> hkeys myhash # 只获得所有field
1) "field2"
2) "field1"
127.0.0.1:6379> hvals myhash # 只获得所有value
1) "world"
2) "hello"

指定增量(incr decr)👉 hincrby

127.0.0.1:6379> hset myhash field3 5 #指定增量
(integer) 1
127.0.0.1:6379> hincrby myhash field3 -1 #-1相当于hdecrby
(integer) 4
是否存在 hsetnx

127.0.0.1:6379> hsetnx myhash field4 "hello" # 如果不存在则可以设置
(integer) 1
127.0.0.1:6379> hsetnx myhash field4 "world" # 如果存在则不能设置
(integer) 0

hash变更的数据 user name age,尤其是是用户信息之类的,经常变动的信息。
存储: hash 更适合于对象的存储,String更加适合字符串存储。

以上是关于Redis五大数据类型之Hash的主要内容,如果未能解决你的问题,请参考以下文章

Redis五大数据类型之Zset

redis之五大数据类型介绍

Redis五大数据类型之String

Redis08——Redis五大数据类型 hash

七天玩转Redis | Day2 Redis五大数据类型

七天玩转Redis | Day2 Redis五大数据类型