redis 删除key中某一元素_redis应用场景总结

一、redis核心数据结构

30ab44f0e3e9f3109c6c496de4472cd7.png

1.string

61f42d17358de6837c3676f81d78c5b7.png

31186a774161656376f169995f16c59c.png

比如:计数器(incr和get命令即可)

2bbb8a43cbe29c7e40a79299ead1c74c.png

2.hash

4a8b9c3d57c88583933ee48fc4afe0b2.png

b64a5b4e6af1807843a800b77078c061.png

redis非常忌讳存储大key和大value,因为redis是一个单线程操作,如果一个命令卡住了几秒或十几秒,其他操作都被阻塞着,所以尽量使用小key.

d525620c85fc83ec61ce704478c72971.png

7728dbaf377c8dfeb547ddb2c4ec74df.png

新建一个购物车key为(cart:1001)

cart:代表前缀;
1001:代表用户id;
10088:代表商品;
1:代表数量;

b90d9cf00719e8f365d10aea4e11aa93.png

使用hincrby命令对购物车商品数量+1操作

e3868cbddcd014fdacf11798c88e90c2.png

再添加两个商品

hset cart:1001 10089 1

hset cart:1001 10090 1

获取购物车所有商品

hgetall cart:1001

ba2940daa800629bf953574232677bf2.png

知道购物车用户和商品id,使用ajax获取商品详情,从而使用购物车,大大提高了性能

1f83bdf10c452e2eb895cd45d43e811f.png

为什么这么说呢?

因为有可能hash 对key有可能都存在一个redis集群某一个节点下,

59c90b93ab2a2b038003984d4162fbe2.png

3.list

269b05f797422df166a584bb8b733fc5.png

977e994444a0cb7d848b1e6d2bdd3075.png

7e50affbcb4b7c4aa37eec10f7fa09b8.png

4b3a378db8112873f6f269ae5563e3fb.png

12d7bf930f17eafeaa483577abd20909.png

可以轻松实现数据结构栈,非常容易

a0ff1c6e9994c2ebce730422ce725321.png

举个场景:比如你关注了很多明星大V,进入主页看到非常多消息,按照时间倒排

如果使用数据库实现有些复杂了,如果使用redis呢?

5ca580e6011b6ab71206a66c56f9c77e.png

熟悉下 LPUSH 和LRANGE命令

一般不是一个粉丝,大V都会有非常多粉丝,每发一条消息都需要往redis插入一条数据吗?

具体看业务场景,看粉丝多少,如果粉丝不超过万都是可以的,因为redis的qps理论接近十万,足够了!当然如果上千万或亿万粉丝,那么这种方式就不合适了,(早期大V发一条微博就挂了)

4.set

ff1bb17916007236d85eb23f371e587a.png

3391fffb0ef7ef4d2f73c9944c485726.png

比如:微信抽奖小程序

全部人,中奖人

3d60d25a53e49aed0d3945f358a63a9b.png

随机抽取两个不删除原来集合元素(普通情况)

861be53d8a2a782df4af35414787a242.png

第二种情况:

随机拿两个元素并删除原来集合元素(适合抽取一等奖、二等奖、三等奖)

dbbc4fa7c724b0f93114ef0790c2f4d5.png

259ce3c05f5e74f7c3cd33ddd77af049.png

微信微博点赞场景

检查用户是否点过赞(朋友圈是否有❤️高亮)

当然朋友圈是仅限于熟人,根据用户关系的算法设计的,

关注模型(非常重要的后端技术,可以推送消息,可以推送购买商品,可以挖掘你关注和关注你的兴趣爱好)

3581e834f7e74fc06334b67ff88b3621.png

b583dada0f95a5f790f9ca1eee8444cb.png

SISMEMBER求后面的元素是否在前面的集合(只需要展示几个人,其他分页做 )

SINTER求交集,

SUNION求并集

SDIFF求差集(以第一个集合为标准,第一个集合-后面所有集合的并集)

19bed1a4e331f4f884275a916bffd440.png

5.zset

f647fad2ca49a810e57ae71b96030cd3.png

7453bc22e66634a8a921adc197366ba8.png

87231641684d55548c42224fc2e70e7f.png

热度排行榜

一条消息执行一条操作

3adb3c51b233c84e0372d801b2a390bf.png

4ab92846dc04fdfda1e645064dbfbd16.png

redis其他使用场景

f1c79392ae5e54f2e8835dafebb1c801.png

图灵学院 诸葛老师讲课视频地址:

https://ke.qq.com/course/447001?taid=3913320797491737

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值