SpringCache

本文介绍了SpringCache的原理,它作为一个抽象接口,允许使用不同的缓存实现。主要应用场景包括数据缓存、提高效率。文中详细讲解了@EnableCaching、@Cacheable、@CachePut和@CacheEvict等注解的使用,并通过实例展示了如何在保存用户信息时同步缓存数据,以及在删除数据时清除相应缓存。同时,提供了配置SpringCache的步骤和key的编写方式。
摘要由CSDN通过智能技术生成

1.SpringCache的原理及其使用场景

  原理:

      SpringCache 是一个框架,在缓存高热数据时我们会用到这种技术,因为SpringCache相当于一个抽象接口,在其底层可以切换各种Cache的实现,当缓存数据时,只需要注入SpringCache对应的注解,就能数显缓存的功能,大大的提高了缓存的效率,这就是SpringCache的使用原理.

 应用场景

     SpringCache中做常见的几种注解

注解说明
@EnableCaching开启缓存注解功能
@Cacheable在方法执行前spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放到缓存中
@CachePut将方法的返回值放到缓存中
@CacheEvict将一条或多条数据从缓存中删除

注意:  SpringCache的注解一般加载业务层(service).

2.  SpringCache的使用方法

   1.首先需要在相关项目中的pom文件中导入相关的坐标

 2.在启动类中加上注解,表示开启注解缓存的功能;

3.开启之后就可以在高热数据的代码上加注解了

  1. 我希望在该用户信息保存到数据库的同时,也往缓存中缓存一份数据,我们可以在save方法上加上注解 @CachePut

  

key的写法如下:

#user.id : #user指的是方法形参的名称, id指的是user的id属性 , 也就是使用user的id属性作为key ;

#user.name: #user指的是方法形参的名称, name指的是user的name属性 ,也就是使用user的name属性作为key ;

#result.id : #result代表方法返回值,该表达式 代表以返回对象的id属性作为key ;

#result.name : #result代表方法返回值,该表达式 代表以返回对象的name属性作为key ;

 2.当我们在删除数据库表的数据的时候,我们需要删除缓存中对应的数据,此时就可以使用@CacheEvict注解, 具体的使用方式如下:

 3.@Cacheable  在方法执行前,spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放到缓存中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值