接口优化
Redis预减库存减少数据库的访问
内存标记减少redis访问
请求先入队缓冲,异步下单,增强用户体验
RabbitMQ安装与Spring Boot集成
1、Redis预减库存减少数据库的访问
顾名思义,Redis预减库存减少数据库的访问的思想就是减少对数据库的访问。
(1)系统初始化时,将商品库存信息加载到redis中;
(2)服务端收到请求后,redis预减库存,如果库存不足,则直接进入下一步;
(3)服务端将请求入队,立即返回向客户端返回排队中的信息,提高用户体验;
(4)服务端请求出队,生成秒杀订单,减少库存;
(5)最后客户端轮询是否秒杀成功。
系统初始化,把商品库存数量加载到Redis
实现接口 InitializingBean
public class MiaoshaController implements InitializingBean{
实现方法
@Override
public void afterPropertiesSet() throws Exception {
List<GoodsVo> goodsVoList = goodsService.listGoodsVo();
if (goodsVoList==null){
return ;
}
for (GoodsVo goodsVo : goodsVoList){
//将商品库存加载到redis中
redisService.set(GoodsKey.getMiaoshaGoodsStock,""+goodsVo.getId(),goodsVo.getStockCount());
}