Redis中Hash(哈希)数据类型

本文详细介绍了 Redis 中的哈希(Hash)数据结构及其常用操作,如 hset、hget、hmset、hgetall 等,并通过实例展示了如何存储和管理对象信息,例如用户资料。哈希在存储键值对时特别适合存储对象,相较于字符串更高效。
摘要由CSDN通过智能技术生成

Hash(哈希)


Map集合,key:Map,Map:<field:value>,命令都是h开头


hset key field value 创建一个key哈希,包含一个field:value

hget key field 根据key 中的field获取value

hmset key field1 value1 field2 value2 … 可以一次性创建多个field:value

hmget key field1 field2 … 可以一次性获取多个field的值

hgetall key 获取key哈希里面所有的field和value

hdel key field 删除key哈希中field的字段,同时value值也没了

hlen key 获取key哈希的长度

hexists hash field 判断key哈希中field字段是否存在,如果存在返回1,反之返回0

hkeys key 获取key哈希中所有的field

hvals key 获取key哈希中所有field对应的value

hincrby key field num 指定key哈希中field字段增加num

hsetnx field value 指定key哈希field字段如果不存在,创建成功,反之创建失败

#####################################
127.0.0.1:6379> hset hash field sky
(integer) 1
127.0.0.1:6379> hget hash field
"sky"
127.0.0.1:6379> hmset hash field1 hello field2 world
OK
127.0.0.1:6379> hmget hash field1 field2
1) "hello"
2) "world"
127.0.0.1:6379> hgetall hash
1) "field"
2) "sky"
3) "field1"
4) "hello"
5) "field2"
6) "world"
###############################
127.0.0.1:6379> hdel hash field
(integer) 1
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379> hlen hash
(integer) 3
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
5) "field3"
6) "sky"
#####################################
127.0.0.1:6379> hexists hash field3
(integer) 1
127.0.0.1:6379> hexists hash field
(integer) 0
127.0.0.1:6379> hkeys hash
1) "field1"
2) "field2"
3) "field3"
127.0.0.1:6379> hvals hash
1) "hello"
2) "world"
3) "sky"
##############################################
127.0.0.1:6379> hset hash field4 1
(integer) 1
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
5) "field3"
6) "sky"
7) "field4"
8) "1"
127.0.0.1:6379> hincrby hash field 4
(integer) 4
127.0.0.1:6379> hincrby hash field 4
(integer) 8
127.0.0.1:6379> hgetall hash
 1) "field1"
 2) "hello"
 3) "field2"
 4) "world"
 5) "field3"
 6) "sky"
 7) "field4"
 8) "1"
 9) "field"
10) "8"
127.0.0.1:6379> hsetnx hash field3 10
(integer) 0
127.0.0.1:6379> hsetnx hash field5 10
(integer) 1

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

127.0.0.1:6379> hset user:1 name sky
(integer) 1
127.0.0.1:6379> hget user:1 name
"sky"
127.0.0.1:6379> hmset user:1 age 1 score 90
OK
127.0.0.1:6379> hgetall user:1
1) "name"
2) "sky"
3) "age"
4) "1"
5) "score"
6) "90"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕竟尹稳健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值