当前位置:   article > 正文

Redis基本类型之Hash类型_redis hash类型

redis hash类型


Redis基本类型之Hash类型

一、简介

  • Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构
  • String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便
    在这里插入图片描述
  • Hash结构可以将对象的每个字段独立存储,可以针对单个字段做CRUD
    在这里插入图片描述

二、Hash类型的常见命令

命令作用
hset添加或者修改hash类型key的field
hget获取一个hash类型key的field的值
hmset批量添加多个hash类型key的field的值
hmget批量获取多个hash类型的key的field的值
hgetall获取一个hash类型的key中的所有的field和value
hkeys获取一个hash类型的key中的所有的field
hvals获取一个hash类型的key中的所有的value
hincrby让一个hash类型key的字段值自增并指定步长
hsetnx添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

三、操作案例

1、hset(设置)

  • hset:添加或者修改hash类型key的field
# 添加
192.168.246.128:6379> HSET sgz:user:3 name LiLi
(integer) 1
192.168.246.128:6379> HSET sgz:user:3 age 21
(integer) 1
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

# 修改
192.168.246.128:6379> hset sgz:user:3 age 29
(integer) 0
  • 1
  • 2
  • 3

在这里插入图片描述

2、hget(获取)

  • hget:获取一个hash类型key的field的值
192.168.246.128:6379> HGET sgz:user:3 name
"LiLi"
192.168.246.128:6379> HGET sgz:user:3 age
"29"
  • 1
  • 2
  • 3
  • 4

3、hmset(批量设置)

  • hmset:批量添加多个hash类型key的field的值
192.168.246.128:6379> HMSET sgz:user:4 name LiYun
OK
192.168.246.128:6379> HMSET sgz:user:4 name LiYun age 20 sex woman
OK
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

4、hmget(批量获取)

  • hmget:批量获取多个hash类型的key的field的值
192.168.246.128:6379> HMGET sgz:user:4 name age sex
1) "LiYun"
2) "20"
3) "woman"
  • 1
  • 2
  • 3
  • 4

5、hgetall(获取全部)

  • hgetall:获取一个hash类型的key中的所有的field和value
192.168.246.128:6379> HGETALL sgz:user:4
1) "name"
2) "LiYun"
3) "age"
4) "20"
5) "sex"
6) "woman"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6、hkeys(获取field)

  • hkeys:获取一个hash类型的key中的所有的field
192.168.246.128:6379> HKEYS sgz:user:4
1) "name"
2) "age"
3) "sex"
  • 1
  • 2
  • 3
  • 4

7、hvals(获取value)

  • hvals:获取一个hash类型的key中的所有的value
192.168.246.128:6379> HVALS sgz:user:4
1) "LiYun"
2) "20"
3) "woman"
  • 1
  • 2
  • 3
  • 4

8、incrby(自增)

  • hincrby:让一个hash类型key的字段值自增并指定步长
192.168.246.128:6379> HINCRBY sgz:user:4 age 2
(integer) 22
192.168.246.128:6379> HINCRBY sgz:user:4 age -22
(integer) 0
192.168.246.128:6379> HINCRBY sgz:user:4 age 20
(integer) 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

9、hsetnx(创建键值对)

  • hsetnx:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行,0不存在
192.168.246.128:6379> HSETNX sgz:user:4 sex woman
(integer) 0
192.168.246.128:6379> HSETNX sgz:user:3 sex woman
(integer) 1
192.168.246.128:6379> HGETALL sgz:user:3
1) "name"
2) "LiLi"
3) "age"
4) "29"
5) "sex"
6) "woman"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/848353
推荐阅读
相关标签
  

闽ICP备14008679号