spring boot中使用redis缓存

38 篇文章 0 订阅
4 篇文章 0 订阅

一、启动类上面加一个注解@EnableCaching

例如

@SpringBootApplication
@EnableCaching
public class SellApplication {

	public static void main(String[] args) {
		SpringApplication.run(SellApplication.class, args);
	}

}

注意:如果无法找到注解则在pom.xml里面引入此依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-cache</artifactId>
</dependency>

二、在要实现缓存方法上加上注解@Cacheable,因为方法返回的对象必须能序列化,所以方法返回的对象必须实现implements Serializable

例如

    @GetMapping("/list")
    @Cacheable(cacheNames = "product",key = "123")
    public ResultVo list(){

        //获取所有上架商品
        List<ProductInfo> productInfoList = productInfoService.findUpAll();
        ResultVo resultVo = new ResultVo();
        resultVo.setCode(0);
        resultVo.setMsg("查询成功");
        resultVo.setData(productVoList);
        return resultVo;
    }

三、在数据跟新的方法上加入注解@CacheEvict实现清除缓存

例如:

    @PostMapping("/save")
    @CacheEvict(cacheNames = "product",key = "123")
    public ModelAndView save(@Valid ProductForm productForm, BindingResult bindingResult, Map<String,Object> map){
        map.put("url","/sellers/product/list");
        map.put("msg","商品修改成功");
        return new ModelAndView("order/success",map);
    }

如果返回的对象和缓存方法返回的对象一样的推荐使用@CachePut,一般都是用在业务层的方法上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值