通过前面的压测发现,并发的瓶颈主要在访问数据库上面,所以加缓存很有必要性。
页面缓存
GoodsController
分为两个部分:取缓存,写缓存
首先对controller做一些改动
@RequestMapping(value = "/to_list",produces="text/html")
@ResponseBody
public String toList(HttpServletRequest request, HttpServletResponse response,
Model model, MiaoshaUser user){
取缓存
// 取缓存
String html = (String) redisService.get("gl");
if(!StringUtils.isEmpty(html)) {
return html;
}
写缓存
thymeleafViewResolver导包时注意是spring5
import org.thymeleaf.spring5.view.ThymeleafViewResolver;
另外,经弹幕提醒,用的是WebContext,不是视频里面老师用的SpringWebContext。
WebContext ctx = new WebContext(request,response,
request.getServletContext(),request.getLocale(), model