redis应用场景

一、String类型

1.单值缓存

set key value

get key

2.对象缓存

set user:1 value(json格式的数据)

3.分布式锁

setnx product:1001 ture // 返回1代表获取锁成功

setnx product:1001 ture // 返回0代表获取锁失败

。。。。执行业务逻辑

del product:1001 //执行完毕释放锁

3.原子加减

incr key //将key中存储的数字值加1

decr key //将key中存储的数字减1

incrby key increment //将key中存储的数字值加increment

decr key decrement //将key中存储的数字减decrement

可以应用于计数器

4.分布式系统全局序列号

incrby orderid 100 // redis批量生成序列号提升性能

二、hash类型(key-file(key,value))

1.购物车实现

a.以用户id为key ,商品id为File,商品数量为value

b.购物车操作:

添加商品:->hset cart:1001 10088 1

增加商品数量: ->hincrby car:1001 10088 1

商品总数:->hlen cart:1001

删除商品:->hdel cart:1001 10088

获取购物车所有商品:hgettall cart:1001

三、list(列表)类型(相当于一个链表可以左边或者右边插入或取出元素)

1.list常用操作

LPUSH list one # 将一个值或者多个值,插入到列表头部 (左)

LRANGE list 0 -1 # 获取list中值

127 .0.0.1:6379> LRANGE list 0 1 # 通过区间获取具体的值! 1 ) "three" 2 ) "two"

2.redis-list在实际中的应用

a.可以利用(LPUSH,LPOP)实现栈的功能(先进后出)

b.可以作为微信朋友圈按照时间线展示的信息列表

3.set类型(无序不重复集合。抽随机)

a.set常用操作

sadd key member [member.....] //往集合key中存入元素,元素存在则忽略,若key不存在则新建

srem key member [member.....] //从集合key中删除元素member

smembers key // 获取集合key中所有元素

scard key //获取集合key中元素的个数

sismember key member // 判断元素member是否存在于集合key中

srandmember key[count] //从key中随机选出count个元素(元素不从key中删除)

spop key[count] //从key中随机选出count个元素(元素从key中删除)

b.set运算操作

sinter key [key....] // 交集运算

sinterstore destination key [key....] //将交集结果存入destination中

sunion key [key....] //并集运算

sunion destination key [key....] //将并集结果存入destination中

sdiff key [key....] //差集运算

sdiff destination key [key....] //将差集结果存入destination中

c.Set应用场景

1.微信小程序抽奖

1)电机参与抽奖加入集合

sadd key {userId}

2)查看参与抽奖的所有用户

smembers key

3)抽取count名获奖者

srandmember key[0] /spop key [count]

2.微信微博点赞,收藏,标签

1)点赞

sadd like:{消息Id} {用户id}

2)取消点赞

srem like:{消息Id} {用户id}

3)检查是否点过赞

sismeber like:{消息Id} {用户id}

4)获取用户点赞列表

smembers like:{消息Id}

5)获取点赞用户数

scard like:{消息Id}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wy971744839

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值