网页缓存


@GetMapping(value = "findAll", produces = "text/html")
    @ResponseBody
    public String findAll(HttpServletRequest request, HttpServletResponse response, Model model) {
        //从redis中取html缓存
        String seckillGoodsHtml = iSeckillGoodsService.getSeckillGoodsHtml(SeckillGoodsHtmlKey.seckillGoodsHtmlKey.getPrefix());
        //如果不为空直接返回json
        if (!StringUtils.isEmpty(seckillGoodsHtml)) {
            return seckillGoodsHtml;
        }
        //如果redis里没有
        List<SeckillGoods> seckillGoods = iSeckillGoodsService.findAll();
        List<Goods> goods = iGoodsService.findAll();
        model.addAttribute("SeckillGoods", seckillGoods);
        model.addAttribute("goods", goods);
        //从数据库那出来数据手动渲染模板
        IWebContext webContext = new WebContext(request, response, request.getServletContext(), request.getLocale(), model.asMap());
        //渲染数据模板
        seckillGoodsHtml = thymeleafViewResolver.getTemplateEngine().process("seckillpage", webContext);
        if (!StringUtils.isEmpty(seckillGoodsHtml)) {
            iSeckillGoodsService.setSeckillGoodsHtml(SeckillGoodsHtmlKey.seckillGoodsHtmlKey.getPrefix(), seckillGoodsHtml);
        }
        return seckillGoodsHtml;
    }
posted @ 2020-07-30 08:56  neona  阅读(215)  评论(0编辑  收藏  举报