一、创建工程
新工程配置如下
一般喜欢把application.properties改成application.yml
内容如下:
server:
port: 9000
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.56.100:3306/shoppings
username: root
password: ok
redis:
database: 0
host: 192.168.56.100
port: 6379
password:
项目目录结构如下:
services层
首先将结果放入redis
public void saveRedis() {
List<String> res = new ArrayList<String>();
List<Goods> goods = findAll();
ObjectMapper om = new ObjectMapper();
//把 List的 goods转成string
try {
for (Goods gs :goods) {
res.add(om.writeValueAsString(gs));
}
} catch (JsonProcessingException e) {
e.printStackTrace();
}
//放入redis
redisTemplate.opsForList().leftPushAll("good", res);
}
将结果存放到redis后,修改代码,设置分页数
@Service
public class GoodsService {
@Autowired
private GoodsDAO gdao;
@Autowired
private StringRedisTemplate redisTemplate;
public List<Goods> findAll(int pg) {
return gdao.findAll((pg-1)*20);
}
// public void saveRedis() {
// List<String> res = new ArrayList<String>();
// List<Goods> goods = findAll();
// ObjectMapper om = new ObjectMapper();
// //把 List的 goods转成string
// try {
// for (Goods gs :goods) {
//
// res.add(om.writeValueAsString(gs));
// }
// } catch (JsonProcessingException e) {
// e.printStackTrace();
// }
// //放入redis
// redisTemplate.opsForList().leftPushAll("good", res);
// }
public List<String> findRedisData(int pg) {
return redisTemplate.opsForList().range("good", (pg-1)*20, pg*20-1);
}
}
controller层
执行save将结果放入redis中
@RequestMapping("/save")
public String save() {
goodsService.saveRedis();
return "ok";
}
修改代码,执行分页功能
@RestController
public class InitCtrl {
@Autowired
private GoodsService goodsService;
@RequestMapping("/mysql")
public List<Goods> init(int pg) {
return goodsService.findAll(pg);
}
// @RequestMapping("/save")
// public String save() {
// goodsService.saveRedis();
// return "ok";
// }
@RequestMapping("/redis")
public List<String> rd(int pg) {
return goodsService.findRedisData(pg);
}
}
Application类上面配置注解
@SpringBootApplication
@MapperScan("com.njbdqn.msrd.dao")
二、 Postman测试
1.软件安装
下载地址: https://pan.baidu.com/s/1HfWNXFWZGFVu1qCtTjtQQA
提取码:7oxc
双击安装软件,测试
三、jmeter压力测试Redeis对比MySQL
建立测试计划TestPlan
设置线程组
添加一个HttpRequest
正确填写HttpRequest内容
添加Lisenter查看结果
添加随机变量值
设置页面随机变量
结果比较:
Redis结果average:5
MySQL结果:average:10685
扫描二维码关注公众号,回复:
11099044 查看本文章