【redis-基础】redis数据类型

string类型

命令示例解释
setnxsetnx seckill001 true给键seckill001赋值,如果之前不存在,则新增成功,返回1,表示抢到了锁;
返回0则表示锁被占用,只能后期继续尝试再次执行
expireexpire seckill001 20设置过期时间为20毫秒,到期之后则键会被删除掉
ttlttl seckill001查询键还有多久过期,如果超时则返回负数,如果键被释放掉则返回nil
deldel seckill001当第一个抢到锁的线程执行完业务之后,便可以删除键,让其他线程能抢到锁
setset seckill001 true ex 20 nx保证原子性,则可以在设置值的同时再次设置过期时间

hash类型

命令示例解释
hsethset device:001 code 1
hset device:001 temperature 10
设置设备001的当前异常码为1
设置设备001的温度为10
hmsethmset device:001 s1 start s2 stop设置设备的两种状态
hgetallhgetall device:001获取设备001的所有属性
hsethset userid:1 pid:1 1用户1 商品1 数量1
hdelhdel userid:1 pid:1从hash表中删除
hincrbyhincrby myBlog 202102 1
hincrby pid:1 Good 1
hincrby pid:1 bad 1
hincrby mySite 20210201 1
hincrby mySite 20210201 -1
记录博客文章每月的访问量
记录商品的好评数量、差评数量
记录实时在线人数 登录
退出

list类型

命令示例解释
lpushlpush mystack a
lpush mystack b
向栈的左侧插入数据a, b
lrangelrange mystack 0 2
lrange mystack 0 -1
获取栈中从下标0开始到2结束的数据
获取栈中所有的数据
lpoplpop mystack从栈中取出一个值,就是从栈中弹出,按照后进先取出的顺序
rpoprpop myqueue从队列右边取出第一个元素
brpopbrpop blockmq 10通过阻塞的方式获取元素 10代表的是没有元素时需要等待的时间

set类型

set数据类型是其元素无序且唯一的键值对集合

  • 列表可以存储重复元素,集合默认去重;
  • 列表顺序存储,集合是无序存储;
  • 列表和集合都支持增删改查,同事集合还支持求取多个集合的交集并集差集
命令示例解释
saddsadd luckuser user1 user2 user3 user3 user4 user5存入所有参与抽奖的用户信息
smemberssmembers luckuser查看所有参与抽奖人的信息
srandmembersrandmember luckuser 3随机抽取三个人,抽完不删除信息可以再次抽奖
spopspop luckuser 1随机抽取一个人,抽完从集合中删除获奖用户的信息,不能重抽
sremsrem like:id1 ip3取消投票或者点赞
sintersinter zhangsan lisi张三和李四共同的好友(两个集合的交集)
sdiffsdiff lisi zhangsan
sdiff zhangsan lisi
在这里插入图片描述
sunionsunion zhangsan lisi张三和李四两个人的总好友(两个集合的并集)

zset类型

Zset有序集由唯一、非重复的一组元素所组成 ,应用之一是微服务限流功能。

命令示例解释
zaddzadd news 601 newid001以关注度分值将新闻id是001的数据存储到集合中
zrangezrange news 0 10 withscore根据关注度的递增获取热榜新闻
zincrbyzincrby news 3 newid001对新闻001点赞量加3
zrevrangezrevrange anchor 0 -1按照粉丝的打赏金额排名倒序输出粉丝信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值