Java秒杀系统方案优化【项目构建】

一、“秒杀”介绍
1.技术点介绍
(1)前端Thymeleaf、Bootstrap、JQuery
(2)后端SpringBoot、JSR303、Mybatis
(3)中间件RabbitMQ、Redis、Druid
2.分布式回话、商品列表页、商品详情页、订单详情页、系统压测、缓存优化、消息队列、接口安全
3.目标
(1)如何利用缓存
(2)如何使用异步
4.项目框架搭建
(1)SpringBoot环境搭建
(2)集成Thymeleaf、Result结果封装
(3)集成Mybatis+Druid
(4)集成Jedis+Redis安装+通用缓存Key封装

二、操作步骤:
1.建立数据库
user
在这里插入图片描述
2.创建spring项目
3.添加依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.5</version>
        </dependency>

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.38</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

4.配置application.properties

#thymeleaf
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false
spring.thymeleaf.servlet.content-type=text/html
spring.thymeleaf.enabled=true
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.mode= HTML5

#mybatis
mybatis.type-aliases-package=com.example.demo.domain
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.default-fetch-size=100
mybatis.configuration.default-statement-timeout=3000
mybatis.mapper-locations=classpath:com/example/demo/dao/*.xml

#druid
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/miaosha?useSSL=false&serverTimezone=UTC&autoReconnect=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.filters= stat
spring.datasource.maxActive=2
spring.datasource.initialSize= 1
spring.datasource.maxWait= 60000
spring.datasource.minldle= 1
spring.datasource.timeBetweenEvictionRunsMillis= 60000
spring.datasource.minEvictableldleTimeMillis= 300000
spring.datasource.validationQuery=select 'x'
spring.datasource.testWhileldle= true
spring.datasource.testOnBorrow= false
spring.datasource.testOnReturn= false
spring.datasource.poolPreparedStatements =true
spring.datasource.maxOpenPreparedStatements=20

#redis
redis.host=127.0.0.1
redis.port=6379
redis.timeout=3
redis.password=123456
redis.poolMaxTotal=10
redis.poolMaxldle=10
redis.poolMaxWait=3

5.构建POJO类(domain)、DAO层、Service层
6.安装redis
Redis win版本下载地址
下载完解压后进入在cmd中进入redis的安装目录,并输入redis-server.exe redis.windows.conf创建临时redis服务器。
修改Redis服务的密码可以在redis.windows.conf或redis.windows-service.conf中修改 requirepass 后面的参数即可
7.集成和缓存
在RedisConfig里建立成员变量接受配置的对应数据信息;
在RedisService中实现Redis服务;
通过RedisPool获取Redis对象,用@Bean将JedisPool注入Spring容器;
通过KeyPrefix 区分模块,对keyj进行封装,避免key被覆盖,采用方式是:接口->抽象类->实现类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值