首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Redis-哈希(Hash)的相关操作

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

作者头像
小博测试成长之路
发布2021-04-15 16:12:47
发布2021-04-15 16:12:47
9710
举报
文章被收录于专栏:软件测试学习软件测试学习

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

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

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

  • HSET 为字段设置值

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

代码语言:javascript
复制
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

代码语言:javascript
复制
hexists user name
  • HDEL:删除字段

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

代码语言:javascript
复制
hdel user name
hdel user name1 name2
  • HLEN:获取哈希包含的字段数量

格式:hlen key

代码语言:javascript
复制
hlen user
  • HMSET:一次性为一个/多个字段设置值

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

代码语言:javascript
复制
hmset user name libo age 29 phone 17665****50 
  • HMGET:一次获取一个/多个值

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

HKEYS:获取所有字段

格式:hkeys key

代码语言:javascript
复制
hkey user
  • HVALS:获取所有值

格式:hvals key

  • HGETALL:获取所有字段和值

格式:hgetall key

代码语言:javascript
复制
hgetall user

HASH的一些使用场景:

1、购物车的设计

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

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

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小博测试成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档