2、秒杀开始后,在redis中预减库存,减为0该商品秒杀结束(redis是单线程的)
3、如果为了减轻对redis的访问压力,可以将用户提交的秒杀请求放到mq(比如RabbitMq)中
比如一共只有10件商品,一共有10万用户虎视眈眈,都几乎同一时间提交秒杀请求,
3.1、可以将请求放到消息队列中,返回给前端是“排队中";
3.2、消费者(队列的”消费者“)按照固定的速度从消息队列中取数据,创建订单到数据库(也就有条不紊的创建10个订单,数据库0冲击),
3.3、虽然有可能是排到前10的用户,如果由于某种原因创建订单失败,就会将该用户的秒杀请求放到mq尾部,接着给队列中的其他用户创建订单
3.4、创建订单成功的请求,将该请求从mq中移除,对用户发送短信”恭喜,秒杀成功!“
3.5、成功创建10个订单之后(也就是秒杀结束),给队列中其他用户请求返回”秒杀失败“
更多redis知识请关注redis入门教程栏目。
以上就是redis多级缓存介绍的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《Redis》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。