如何用Java结合Redis和MySQL实现长尾词秒杀功能?
- 内容介绍
- 相关推荐
本文共计1027个文字,预计阅读时间需要5分钟。
一. 短杀业务分析所谓短杀业务,是指网络卖家发布一些低价商品,消费者在同一时间在线上抢购的一种销售方式。短杀商品通常有两种限制:时间限制和库存限制,其中库存超卖是常见问题。
一.秒杀业务分析
所谓秒杀,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购的一种销售方式。秒杀商品通常有两种限制:时间限制,库存限制,其中库存超卖问题是本教程的重点!
秒杀业务的运行流程主要可以分为以下几点:
- 商家提交秒杀商品申请,录入秒杀商品数据,主要有:商品标题,商品原价,秒杀价格,商品图片,介绍等信息
- 运营商审核秒杀申请
- 秒杀频道首页列出秒杀商品,点击秒杀商品图片可以跳转到秒杀商品详细页面
- 商品详细页面显示秒杀商品信息,点击立即抢购实现秒杀下单,下单时扣减库存,当库存为0或者不存在活动时间范围内时无法秒杀
- 秒杀下单成功,直接跳转到支付页面(扫码),支付成功,跳转到成功页面,填写收货、电话、收件人等信息,完成订单。
- 当用户秒杀下单5分钟内未支付,取消预订单,调用支付的关闭订单接口,恢复库存。
二.数据库设计
商品表:
订单表:
三.秒杀实现思路
秒杀技术实现核心思想是运用缓存减少数据库瞬间的访问压力。读取商品详细信息时要运用缓存,当用户点击抢购时也要运用缓存,减少缓存中的库存数量,当库存数为0时或活动时间结束才同步到数据库中。产生的秒杀预订单也不会立刻写到数据库中,而是先写到缓存,当用户付款成功后再写入数据库,或者异步写入MQ,让数据库根据自身的能力去消费。
本文共计1027个文字,预计阅读时间需要5分钟。
一. 短杀业务分析所谓短杀业务,是指网络卖家发布一些低价商品,消费者在同一时间在线上抢购的一种销售方式。短杀商品通常有两种限制:时间限制和库存限制,其中库存超卖是常见问题。
一.秒杀业务分析
所谓秒杀,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购的一种销售方式。秒杀商品通常有两种限制:时间限制,库存限制,其中库存超卖问题是本教程的重点!
秒杀业务的运行流程主要可以分为以下几点:
- 商家提交秒杀商品申请,录入秒杀商品数据,主要有:商品标题,商品原价,秒杀价格,商品图片,介绍等信息
- 运营商审核秒杀申请
- 秒杀频道首页列出秒杀商品,点击秒杀商品图片可以跳转到秒杀商品详细页面
- 商品详细页面显示秒杀商品信息,点击立即抢购实现秒杀下单,下单时扣减库存,当库存为0或者不存在活动时间范围内时无法秒杀
- 秒杀下单成功,直接跳转到支付页面(扫码),支付成功,跳转到成功页面,填写收货、电话、收件人等信息,完成订单。
- 当用户秒杀下单5分钟内未支付,取消预订单,调用支付的关闭订单接口,恢复库存。
二.数据库设计
商品表:
订单表:
三.秒杀实现思路
秒杀技术实现核心思想是运用缓存减少数据库瞬间的访问压力。读取商品详细信息时要运用缓存,当用户点击抢购时也要运用缓存,减少缓存中的库存数量,当库存数为0时或活动时间结束才同步到数据库中。产生的秒杀预订单也不会立刻写到数据库中,而是先写到缓存,当用户付款成功后再写入数据库,或者异步写入MQ,让数据库根据自身的能力去消费。

