1.做的一个项目,涉及到性能的压测,架构为springboot+redis,为了提升查询性能,由以前的查库改为查缓存,
利用redis的lettuce,来操作redis,lettuce配置如图:
spring:
# redis
redis:
isopen: true
database:0
host: 127.0.0.1
port:6379
lettuce:
pool:
max-active:-1
max-wait: 100
max-idle:8
min-idle:0
timeout: 5000
redis中提前放置一条数据,获取缓存,controller的代码如下:
@CrossOrigin
@GetMapping(value ="/handle", produces ="application/json;charset=UTF-8")
@ResponseBody
public StringqueryHandle(@RequestParam(value ="identity") String handleIdentity)throws JSONException {
if(isCache &&redisUtil.exists(handleIdentity)){
return redisUtil.get(handleIdentity).toString();
}
redisUtil.get的方法如下:
public Object get(String key){
return key ==null ?null :redisTemplate.opsForValue().get(key);
}
用jmeter进行性能测试,在并发2000,循环10次的情况下,结果如图,性能出乎意料的差,有没有大神能指教一下,什么原因导致的性能这么差,redis的单机不是号称QPS在几万吗?