springCahe框架

本文介绍了SpringBoot中的SpringCache框架,包括如何通过Maven引入相关依赖,以及如何使用@Cacheable、@CachePut和@CacheEvict等注解实现基于Redis、EHCache和Caffeine的缓存功能,以提高数据访问性能和一致性管理。
摘要由CSDN通过智能技术生成

基于springboot项目

介绍:Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能

Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如:

EHCache
Caffeine

       Redis

springCache的使用:

1.maven坐标引入

<!--SpringDataRedis起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--springCache框架依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>

2.使用注解开发

常用注解

注解说明

@EnableCaching

开启缓存注解功能,通常加在启动类上

@Cacheable

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

@CachePut

将方法的返回值放到缓存中

@CacheEvict

将一条或多条数据从缓存中删除

  • @EnableCaching

  • @Cacheable   cacheNames缓存名称,key写前端传来的参数,加#可以动态绑定

再调用此接口方法之前后前去redis缓存里面查询时候有这个key,如果有则直接使用redis,如果没有则调用此方法操作数据库查询完数据后再将数据存入redis

成功生成后在redis中会是下面的形式

  • @CachePut(cacheNames="",key="")

@Cacheable方法使用相同,但不会在方法执行前先查询缓存中是否有数据,一般在查询完数据库后直接将数据放入缓存内

  • @CacheEvict  两种方式,一种是精确删除缓存,一种是删除所有缓存
    

精确删除缓存:例如在进行对分类菜品进行新增的时候可以根据菜品的id来删除相关联的所有菜品

,再次查询该菜品id相关联的菜品时,需再次查询数据库将数据放到redis中,实现数据的一致性

删除全部缓存:例如修改该菜品的某些属性时,可采用删除该菜品下所有缓存,重新查询时再将查询到的数据放到redis里面实现数据的一致性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值