FWQ
浅谈Redis在秒杀场景的作用
浅谈Redis在秒杀场景的作用 0浏览 收藏 从现在开始,我们要努力学习啦!今天我给大家带来《浅谈Redis在秒杀场景的作用》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到redis秒杀等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习! 秒杀业务特点:限时限量,业务系统要处理瞬时高并发请求,Redis是必需品。 秒杀可分成秒杀前、秒杀中和秒杀后三阶段,每个阶段的请求处理需求不同,Redis具体在秒杀场景的哪个环节起到作用呢? 1 秒杀负载特征 秒杀商品的库存量<<购买该商品的用户数,且会限定用户只能在一定时间段内购买。这给秒杀系统带来两个明显负载特征: 1.1 瞬时并发访问量很高 一般DB每秒只能支撑k级并发,而Redis并发能达到w级。所以,当大量并发请求涌入秒杀系统时,要使用Redis先拦截大部分请求,避免大量请求直接发给DB 1.2 读多写少 读还是简单的查询操作。秒杀下,用户需先查验商品是否还有库存(即根据商品ID查询该库存量),只有库存有余量时,秒杀系统才能进行库存扣减、下单。可本地缓存保存库存是否为 0 的标识,避免再请求 redis。 库存查验操作是典型KV查询,Redis正满足。但秒杀只有小部分用户能成功下单,所以:商品库存查询操作(读操作)>>库存扣减、下单操作(写操作) 一般把秒杀活动分成三个阶段: 2 秒杀阶段 2.1 秒杀前 用户不断刷新商品详情页,导致详情页瞬时请求量猛增。 一般尽量静态化商品详情页的页面元素,然后使用CDN或浏览器缓存这些静态化元素。秒杀前的大量请求可直接由CDN或浏览器缓存服务,不会到达服务端。 2.2 秒杀中…