今天带来一款优秀的经过高并发实战考验的商品秒杀项目。 系统实现了“用户登陆”,“秒杀商品列表”,“秒杀接口”,使用了redis扣减库存,本地缓存,rabbitmq,前端页面缓存等高并发思想和组件,绝对是值得研究的成熟项目。
如果您有任何问题,也请联系小编,小编是经验丰富的程序员!
一. 系统演示视频
这里我就演示了正常的秒杀功能,没有演示压测,有需要的童鞋可以自己压测。
https://githubs.xyz/show/262.mp4
秒杀关键代码
项目结构,功能简单,代码量不少
商品页面缓存
二. 系统功能概述
- 用户登陆
- 秒杀商品展示
- 库存扣减,解决超卖问题
- 消息队列MQ实现秒杀订单落库
- html页面缓存、商品详情静态化、订单静态化
- 隐藏秒杀接口地址
- 接口限流防刷
三. 技术栈
- SpringBoot+SpringMVC+MyBatis
- Redis+本地缓存
- MySQL8.0
- RabbitMQ
- JDK8
- Spring thymeleaf
- hibernate-validator校验框架
四. 源码获取
https://gitee.com/lz-code/hadluo-seckill.git
五. 部署项目
安装mysql8.0,然后新建数据库"seckill" ,然后导入ebook.sql文件。
安装redis环境,不会的请参见下面这篇文章
老罗教知识:Windows安装Redis环境1 赞同 · 1 评论文章
安装rabbitmq环境,不会的请参见下面这篇文章
老罗教知识:Windows上安装RabbitMQ0 赞同 · 0 评论文章
打开idea,导入maven后端项目,然后等待包下载完毕。
修改数据库信息,redis信息,rabbitmq信息为你数据库信息,信息在application.properties里面
然后启动 com.hadluo.seckill.App 主类 。
没有成功的,请联系小编。到此我们后端项目部署完成。下面开始部署前端。
浏览器访问登陆页面
http://localhost:8888/page/login
修改数据库商品信息后,页面不会刷新,因为商品信息页面存储到了redis缓存
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。