@Override
public Map> getCatelogJson() {
//加入缓存逻辑
ValueOperations ops = stringRedisTemplate.opsForValue();
String json = ops.get("CatalogJSON");
if(StringUtils.isEmpty(json)){
//缓存没有,从数据库中查询
Map> catalogJsonFromDb = getCatalogJsonFromDb();
//将查出的对象转为JSON放在数据库 :存json的好处,json是跨语言跨平台兼容的
ops.set("CatalogJSON", JSON.toJSONString(catalogJsonFromDb));
return catalogJsonFromDb;
}
//视频中是这样转然后返回的
Map> object
= JSON.parseObject(json, new TypeReference
redis客户端查看也能查到数据
浏览器访问很正常,但是jmeter性能压测就出现问题了,产生堆外内存溢出异常。
====================================
重新更改依赖
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-data-redisartifactId>
<exclusions>
<exclusion>
<groupId>io.lettucegroupId>
<artifactId>lettuce-coreartifactId>
exclusion>
exclusions>
dependency>
<dependency>
<groupId>redis.clientsgroupId>
<artifactId>jedisartifactId>
dependency>
这样就可以解决这个问题了。