mysql高并发和mybatis_高并发秒杀系统方案(集成Mybatis和Redis)

本文介绍了如何在高并发场景下构建秒杀系统,通过集成Mybatis和Redis来提升性能。首先,详细展示了Mybatis的集成步骤,包括添加依赖、配置properties以及事务测试。接着,讲解了Redis的安装过程,并阐述了Redis在SpringBoot中的集成,利用FastJson进行对象序列化,以提高数据存储和检索效率。
摘要由CSDN通过智能技术生成

1.集成Mybatis

第一步,添加依赖:

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.1

mysql

mysql-connector-java

com.alibaba

druid

1.0.5

第二步:配置properties:

# mybatis

mybatis.type-aliases-package=com.imooc.miaosha.domain

mybatis.configuration.map-underscore-to-camel-case=true

mybatis.configuration.default-fetch-size=100

mybatis.configuration.default-statement-timeout=3000

mybatis.mapperLocations = classpath:com/imooc/miaosha/dao/*.xml

# druid

spring.datasource.url=jdbc:mysql://192.168.80.130:3306/miaosha?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false

spring.datasource.username=mmall

spring.datasource.password=mmall

spring.datasource.driver-class-name=com.mysql.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.minIdle=1

spring.datasource.timeBetweenEvictionRunsMillis=60000

spring.datasource.minEvictableIdleTimeMillis=300000

spring.datasource.validationQuery=select 'x'

spring.datasource.testWhileIdle=true

spring.datasource.testOnBorrow=false

spring.datasource.testOnReturn=false

spring.datasource.poolPreparedStatements=true

spring.datasource.maxOpenPreparedStatements=20

在这里我们测试了一下事务:

UserService:

@Transactionalpublic booleantx() {

User u1= newUser();

u1.setId(2);

u1.setName("2222");

userDao.insert(u1);

User u2= newUser();

u2.setId(1);

u2.setName("11111");

userDao.insert(u2);return true;

}

UserDao:

@Insert("insert into user(id, name)values(#{id}, #{name})")public int insert(User user);

2.安装redis:

下载Redis:https://redis.io/

9e6f65ffbe8ba2e6b26b43e0346eb41a.png

33ebac7efde5ec50c955f72f0433d1d6.png

0102a7cd6fda095ddd89a124dc989d3c.png

3b9e99092cc9605ac5609936b9ef6c8d.png

0b1286b77eb779dc6d5e2f7cc2d41318.png

redis的配置文件(vim进入的时候,输入/+关键字是从上往下搜索,?+关键字是从下往上搜索。另外n和N分别是向下匹配和向上匹配):

这个表明任何服务器都能访问:

4e48682ec20af843d03001ffc022ad9f.png

允许后台执行:

e85c732ff9f6b44169cd7b4305eec0d6.png

然后:

2f296a597e34636ef1f8e4e5a13ddc31.png

95cf98fd8fb775553178262e5fdb7f51.png

现在我们需要访问之前需要输入密码:

59c9df347cf2300ce5b7115f9827d22b.png

设置:

f4d2466ae1ae204ab546d68d501514d5.png

重启下:

71e996be98cd9ec2c0e6ce6655bd18e9.png

7ea5434ea0cc2786592349c1a36fb92b.png

b7c8162673d5cfdeb04a1f8829de926a.png

生成redis系统服务:

950c7dcb72803ddc3672193cbcbdb583.png

9f0e175f47eed805cb195306b7795adc.png

9f27f80f680f5e6c1fe9a288b14c21cb.png

到这里为止,redis安装完成!

接下来在SpringBoot中集成redis:

FastJson将对象序列化以后是可读的,将java对象转化成json字符串存到redis服务器里面。

引入依赖:

redis.clients

jedis

com.alibaba

fastjson

1.2.38

#redis

redis.host=192.168.80.130

redis.port=6379

redis.timeout=3

redis.password=123456

redis.poolMaxTotal=10

redis.poolMaxIdle=10

redis.poolMaxWait=3

代码此处不贴了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值