0%

Java秒杀系统项目

能学到啥?

应对大并发

  • 如何利用缓存
  • 如何使用异步
  • 如何编写优雅的代码

项目框架

  • Spring Boot
  • 集成 Thymeleaf,Result 结果封装
  • 集成 Mybatis+Druid
  • 集成 Jedis+redis 安装+通用缓存 Key 封装

环境搭建

  1. maven
  2. org.springframework.boot–parent
  3. spring-boot-starter-web
  4. spring-boot-starter-thymeleaf
  5. mybatis-spring-boot-starter
  6. mysql
  7. com.alibaba,druid

redis 安装

  1. download redis.xxx.tar.gz
  2. linux 服务器(此处可使用虚拟机安装 centos)tar -zvxf redis.xxx.tar.gz
  3. mv redis.xxx.tar.gz /usr/local/redis //移动后重命名为 redis 目录
  4. cd /usr/local/redis
  5. make -j 4 //用 4 个线程
  6. make install
  7. vim redis.conf //修改 bind ip,daemonize yes 运行后台运行,requirepass 密码,设置密码后使用 redis-cli 需要使用 auth pass 才能 get key
  8. redis-server ./redis.conf //使用 redis.conf 的配置启动 redis 服务
  9. ps -ef | grep redis //查看 redis 进程
  10. redis-cli //连接 redis 服务
  11. cd utils && ./install_server.sh //生成系统服务 /usr/local/redis/redis.conf,/usr/local/redis/redis.log,/usr/local/redis/data,/usr/local/bin/redis-server
  12. systemctl status redis_6379 //查看 redis 服务状态
  13. vim /etc/init.d/redis_6379 // 执行 shell 文件自动生成的,可在其中修改服务名。
  14. redis-cli,auth pass,shutdown save关闭 redis 服务

集成 redis

  1. 添加 Jedis 依赖
    添加 Fastjson 依赖
  2. 读取配置文件 config –RedisConfig 类
  3. 配置 JedisPool,写 service,把接口定义好
  4. 通过 KeyPrefix 把各个模块做一个区分 ⬇️⬇️

通用缓存 key 封装\

接口类 <– 抽象类 <– 实现类

登录功能

数据库设计

明文密码两次 MD5 处理

  1. 用户端:pass = MD5(明文+固定 salt)
  2. 服务端:pass = MD5(用户输入+随机 salt)

JSR303 参数检验+全局异常处理

分布式 session

Donate comment here.

欢迎关注我的其它发布渠道