Redis-哈希(Hash)的相关操作

今天介绍一种新的数据类型-哈希,也有的地方叫散列。这种数据格式在工作中还挺常见的,哈希有点类似于编程里面的对象的概念,可以在一个对象里面去定义多组键值对,这多个键值对相当于打包绑定在了一起。

在常见的GUI客户端下面查看哈希的数据显示格式:

 

 

哈希常见的操作命令:{key和value只能是字符串类型,不支持再嵌套其他格式数据}

  • HSET 为字段设置值

格式:hset key field value [field value ...] 向名称为 key 的 hash 中添加元素

hset user:libo name libo age 29 phone 13522223033  email 11111@qq.com 
hset user:001 name lico age 23

1、key采用统一的前缀,然后用:区分时,显示的效果会按照前缀进行分组展示

2、使用hset对哈希中单个已存在字段进行覆盖更新时,返回0。

 

 

  • HSETNX:只在字段不存在的情况下为它设置值

格式:HSETNX hash field value

  • HGET:获取字段的值

格式:hget hash field

 

 

  • HINCRBY:对字段存储的整数值执行加法或者减法的操作

格式:hincrby key field increment

 

 

只能针对整数值进行操作,否则会报错:

 

 

  • HINCRBYFLOAT:对字段存储的数字值(整数/小数都可以)进行浮点数的加减法操作

格式:hincrbyfloat key field increment

 

 

  • HSTRLEN:获取字段值的字节长度

格式:hstrlen key field

  • HEXISTS:检查字段是否存在

格式:hexists key field

hexists user name
  • HDEL:删除字段

格式:hdel key field (可以传多个字段,用空格隔开)

hdel user name
hdel user name1 name2
  • HLEN:获取哈希包含的字段数量

格式:hlen key

hlen user
  • HMSET:一次性为一个/多个字段设置值

格式:hmset key field value [field value ...]

hmset user name libo age 29 phone 17665****50 
  • HMGET:一次获取一个/多个值

格式:hmget key field [field...]

HKEYS:获取所有字段

格式:hkeys key

hkey user
  • HVALS:获取所有值

格式:hvals key

  • HGETALL:获取所有字段和值

格式:hgetall key

hgetall user

 

 

HASH的一些使用场景:

1、购物车的设计

以用户id为key,商品id为field,商品数量为value,恰好构成了购物车的3个要素

哈希这个类型在工作中存储数据经常用到,一些常用的命令要了解一下,避免在工作中用错了。

 

 

转 https://zhuanlan.zhihu.com/p/364341839

posted @   dreamw  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示