Redis基础类型之hash和set类型

举报
多米诺的古牌 发表于 2022/02/24 14:38:56 2022/02/24
【摘要】 1.hash类型hash类型相当于map中又嵌套了一个map的形式1.1 hset通过hset设置一个key的一个属性,指令为hset key 属性 属性值,如下图所示设置key为k1的name属性为tom1.2 hget 通过hget查看一个key的一个属性,指令为hget key 属性 属性值,如下图所示查看key为k1的name属性为tom1.3 hmset通过hmset设置一个key...

1.hash类型

hash类型相当于map中又嵌套了一个map的形式

1.1 hset

通过hset设置一个key的一个属性,指令为hset key 属性 属性值,如下图所示设置key为k1的name属性为tom

1.2 hget 

通过hget查看一个key的一个属性,指令为hget key 属性 属性值,如下图所示查看key为k1的name属性为tom

1.3 hmset

通过hmset设置一个key的多个属性,指令为hmset key 属性1 属性1值 属性2 属性2值... ...,如下图所示设置key为k1的age属性1为12,number属性2位12345

1.4 hkeys

通过hkeys方法可以查看key所有属性,指令为hkeys key

1.5 hvals

通过hvals方法可以查看key所有属性的值,指令为hvals key

1.6 hgetall

通过hgetall方法可以查看key所有属性以及所有属性的值,指令为hgetallkey key

1.7 hincrbyfloat

通过hincrbyfloat方法可以对key的属性值进行计算,指令为hincrbyfloat key 属性 属性需要修改的变量值,应用场景可以通过在点赞、收藏数、加入购物车数等地方进行计算显示

2.set类型

set类型是去重,无序的一种类型

2.1 sadd 

向集合中添加元素,执行指令为sadd key 值1 值2 值3... ...,如下图所示,添加重复元素会被自动去重

2.2 smembers

通过smembers显示key集合中的元素,执行指令是smemebers key

2.3 sinter和sinterstore 

sinter是将两个集合求交集,结果直接返回;而sinterstore是将两个集合求交集后返回给一个目标变量,通过查看目标变量可以查看具体的求交集的结果,客户端触发这个命令时,只需要给出两个参数,求交集和生成目标变量的过程是在服务端一步完成的,数据没有进入IO。

2.4 sunion

sunion是求两个集合的并集,指令是sunion key1 key2

2.5 sdiff

sdiff是求两个集合的差集,因为求差集有顺序,所以是根据需求,想要求哪个目标的集合的差集就将其放在前面,参考的集合放在后面

2.6 srandmember 

求随机元素,如果值为整数时则求出不重复的随机元素,如果为负数时则求出可以重复的随机元素,指令是standmember key 需要求的随机个数,如下图所示

随机个数为正数的情况:(为正数时,返回的结果不会超过已有的结果集),使用场景可以是抽奖时礼物数小于人数的情况

随机个数为负数的情况:(为负数时,返回的结果可以超过已有的结果集,会用重复的元素进行补充填满),使用场景可以是抽奖时礼物数多余人数的情况

为0时是不会返回结果集

为空时,则会随机选择一个结果集

2.7 spop

随机弹出元素,指令为spop key 需要弹出的个数,当不指定弹出个数的时候会默认弹出1个,弹出元素超过剩余的元素时,会返回已有所有剩余元素,但不会超过已有剩余元素。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。