spring缓存注解Cache

1.缓存Cache

        缓存是指将数据存储在一个临时的存储器中,以便于快速访问和读取。缓存的作用是提高系统的性能和响应速度,减少网络流量和数据库的负载。就比如我们去仓库找东西的时候每次都要进仓库数据库找,加入缓存就好比拿到了一份仓库数据库的清单然后再去找。

        Spring缓存Cache的原理是将数据存储在内存中,以便于快速访问和读取,减少了频繁地去访问DAO层去访问数据库的过程。

2.Springboot开启缓存

        在启动项上加上注解@EnableCaching

1.@Cacheable

        @Cacheable(value/cacheName=”name1”),这个注释的意思是,当调用这个方法的时候,会从一个名叫 name1的缓存中查询。如果没有,则执行实际的方法(即查询数据库),并将执行的结果存入缓存中,否则返回缓存中的对象。

参数:

        value/cacheName:指定缓存组件的名字

        key:缓存数据时使用的key,默认使用方法参数

        keyGenerator:key 的生成器。 key 和 keyGenerator 二选一使用

        cacheManager:可以用来指定缓存管理器。从哪个缓存管理器里面获取缓存。

        condition:条件,指定符合什么条件的时候,才进行缓存

        unless:(和condition是条件满足时缓存相反)表示条件满足时不缓存

        sync:指定是否使用异步模式,默认false,即同步模式(异步模式sync = true时,unless属性不可用)

2.@CachePut 

        @CachePut这个注释可以确保方法被执行,同时方法的返回值也被记录到缓存中,实现缓存与数据库的同步更新。

3.@CacheEvict

        @CacheEvict 注释来标记要清空缓存的方法,当这个方法被调用后,即会清空缓存。

参数:

        cacheNames/value:用来指定缓存组件名称。
        key:缓存数据时使用的key,默认使用方法参数。
        condition:指定符合条件的情况下的缓存。
        allEntries:是否清空所有缓存,默认为false。指定为TRUE在调用方法后立刻清空所有缓存
        beforeInvocation:是否在方法执行前就清空,默认为false,如果此时方法执行抛异常,则不会清空缓存。若指定为TRUE则在方法还没有执行的时候就清空缓存。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值