一、页面缓存优化
1.注入ThymeleafViewResolver和ApplicationContext
@AutowiredThymeleafViewResolver thymeleafViewResolver;@AutowiredApplicationContext applicationContext;
2.取缓存
//取缓存String html = redisService.get(GoodsKey.getGoodsList, "", String.class);if (!StringUtils.isEmpty(html)){return html;}
3.无缓存时,手动渲染模板输出结果
SpringWebContext ctx = new SpringWebContext(request,response,request.getServletContext(),request.getLocale(),model.asMap(),applicationContext);//手动渲染html = thymeleafViewResolver.getTemplateEngine().process("goods_list", ctx);if (!StringUtils.isEmpty(html)){redisService.set(GoodsKey.getGoodsList,"",html);}return html;
二、页面静态化
1.通过ajax异步请求,js渲染页面
$.ajax({url:"/goods/detail/"+goodsId,type:"GET",success:function(data){if(data.code == 0){render(data.data);}else{layer.msg(data.msg);}},error:function(){layer.msg("客户端请求有误");}});
2.修改 controller 层返回 Vo 对象
GoodsDetailVo vo = new GoodsDetailVo();vo.setGoods(goods);vo.setUser(user);vo.setRemainSeconds(remainSeconds);vo.setMiaoshaStatus(miaoshaStatus);return Result.success(vo);
