繁体   English   中英

Spring4中的控制器缓存不起作用

[英]Controller cache in Spring4 is not working

当我编写以下代码时,缓存不起作用

@Cacheable("books")
@RequestMapping(method = RequestMethod.GET)
public String list(Model model) {
    System.out.println("Retrieving products");
    model.addAttribute("products", productDao.list());
    return "products/list";
}

但是,如果我写以下内容,则缓存有效

@Cacheable("books")
@RequestMapping(method = RequestMethod.GET)
public ModelAndView list() {
    ModelAndView modelAndView = new ModelAndView("products/list");
    System.out.println("Retrieving products");
    modelAndView.addObject("products", productDao.list());
    return modelAndView;
}

有人可以说出为什么第一个代码不缓存吗?

我想我找到了答案。 由于存在该参数,由于每次调用对象都可以不同,因此大多数情况下该值将不相等。

因此,缓存会将其理解为不同的请求,并且不会带来缓存的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM