秒杀系统
文章平均质量分 75
洛阳八中我最棒
暂无
展开
-
秒杀系统 - 隐藏地址/图片验证码/redis实现接口限流防刷
隐藏地址+图形验证码目的这么做主要是为了防止客户端提前拿到接口地址,在秒杀开始的时候直接调用秒杀接口。思路本次实验做法:/getPath获取秒杀链接,之后访问新链接进行秒杀。getPath中要验证图形验证码的结果是否正确。本次实验缺点:因为真正的秒杀地址为/miaosha+{/getPath获取的data},仍然可以通过get请求获得真正秒杀地址。更好的做法:调用/getPath接口可以返回一个页面的url,让浏览器跳转到这个新的url页面,新的页面才是真正的秒杀页面。实现获取图形验证码图片原创 2021-08-28 12:52:23 · 707 阅读 · 0 评论 -
秒杀系统 - rabbitmq从零到会用
文章目录安装SpringBoot集成RabbitMQRabbitMQ的4种交换机模式优化秒杀系统优化思路优化后的代码秒杀接口Sender.java用来发送消息。MQConfig.java用来定义队列Receieve.java接收消息,减库存下订单。安装我在服务器上用命令的时候报错了,建议使用其他方式,比如Ubantu无网环境下安装RabbitMQ(使用.deb包)SpringBoot集成RabbitMQ添加依赖(版本取决于parent) <dependency>原创 2021-08-05 00:00:27 · 882 阅读 · 0 评论 -
秒杀系统 - 热点数据加缓存/前后端分离
文章目录对象缓存页面缓存为什么要加缓存?加缓存前加缓存后URL缓存加缓存前加缓存后对象缓存缓存前缓存后参考资料对象缓存Web应用的数据库表很多,如果频繁进行数据库查询,很容易导致数据库不堪重荷。为了提供查询的性能,会将查询后的数据放到内存中进行缓存,下次查询时,直接从内存缓存直接返回,提高响应效率。比如常用的缓存方案有memcached,redis等。页面缓存为什么要加缓存?页面加载时间会显着影响用户体验,谷歌的实验表明,加载时间仅相差半秒,就可以将网络流量减少多达20%。而页面缓存技术可以改善网原创 2021-07-25 21:14:55 · 573 阅读 · 3 评论 -
秒杀系统-JMeter压测
JMeter入门2.自定义变量模拟多用户JMeter命令行使用Redis压测工具redis-benchmarkSpring Boot打war包原创 2021-07-22 23:51:15 · 306 阅读 · 0 评论 -
秒杀系统 - 秒杀功能页面开发
文章目录概述说明页面展示实现商品列表商品详情秒杀详情订单详情概述说明为了展示好业务逻辑,把不必要的样式去掉了。页面展示1.商品列表2.商品详情3.订单详情实现商品列表登录按钮处的逻辑,跳转到to_list。$.ajax({ url: "/login/do_login", type: "POST", data:{ mobile:$("#mobile").val(), var inputPass = $("#password原创 2021-07-15 22:45:04 · 626 阅读 · 0 评论 -
秒杀系统 - 怎样设计一个秒杀系统?
文章目录基本介绍技术栈秒杀流程应对大并发课程内容框架搭建实现登录实现秒杀JMeter压测页面优化技术接口优化安全优化基本介绍技术栈前端:Thymeleaf Bootstrap JQuery后端:SpringBoot MyBatis JSR303中间件:RabbitMQ Redis Druid秒杀流程分布式会话商品列表页商品详情页订单详情页系统压测缓存优化消息队列接口安全应对大并发缓存,异步,优雅的代码(易修改,扩展)课程内容框架搭建Spring Boot原创 2021-05-25 14:13:01 · 211 阅读 · 1 评论 -
秒杀系统 - 实现用户登录(两次MD5,JSR303参数检验,全局异常处理器)和分布式session功能
文章目录用户登录数据库设计明文密码两次MD5处理思路导入MD5依赖,封装MD5Utils实现登录功能JSR303参数检验+全局异处理器用户登录数据库设计CREATE TABLE `user` ( `id` bigint(20) NOT NULL COMMENT '用户ID,手机号码', `nickname` varchar(255) NOT NULL, `password` varchar(32) DEFAULT NULL COMMENT 'MD5(MD5(pass明文+固定salt) +原创 2021-06-01 20:49:44 · 388 阅读 · 2 评论 -
秒杀系统 - 项目框架搭建(封装Result类,集成Mybatis,Redis,封装Jedis)
文章目录SprintBoot文档创建项目SprintBoot文档快速启动https://spring.io/guides/gs/spring-boot/创建项目打开idea。从archetype(典型)创建项目,选择quick-start设置GroupId和ArtifactId配置maven设置文件路径,finish创建完成pom文件添加parent依赖 <parent> <groupId>org.springframework.boot原创 2021-05-25 18:59:05 · 196 阅读 · 1 评论