牛客956769739号 level
获赞
5
粉丝
1
关注
5
看过 TA
26
北京工业大学
2023
Java
IP属地:天津
暂未填写个人简介
私信
关注
2022-05-08 12:31
北京工业大学 Java
友友们,本人太菜了,看了半天还是不懂秒杀扣库存和双写一致性这两个问题是什么关系?有没有带带代码的讲解给我推荐一下?我的问题:1秒杀设计应该有数据库和redis缓存,扣库存应该先扣数据库再删除缓存,那为什么分布式锁为什么加在redis上,这样redis扣完了,数据库并没有更新啊?2双写一致性只要更新了数据库就放入消息队列中比如kafka,然后redis消费删除缓存对吗?那多级缓存怎么实现呢?比如再加一个缓存caffine只要让caffine也当一个消费者删除缓存就可以了吗?
牛在天:redis应该有两个作用,1、用分布式锁保障了双写一致性问题。2、数据缓存。 用分布式锁将数据库的更新和缓存的更新串行化。 多级缓存可以在网关,前端,jvm内存,Ehcache、redis等。 因为在秒杀的时候,服务器的压力很大的,当突然面对高并发量,服务器可能会发生宕机,这是不可容忍的,所以消息中间件是为了降低服务器压力,提高服务器响应速度,将消费者的消息放入队列中,当服务器压力不太大的时候再来处理这些请求,以便客户端的请求能快速响应。
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务