缓存注解

本文介绍了Java中缓存注解的使用,包括@Cacheable、@CachePut、@CacheEvict和@Caching。@Cacheable用于方法的缓存,根据参数值查询或保存数据。@CachePut在调用方法后更新缓存。@CacheEvict用于清除缓存,可按key或全部清除。@Caching用于组合缓存规则。@CacheConfig则用来抽取缓存的公共配置。
摘要由CSDN通过智能技术生成

1、开启注解

@EnableCaching

@Cacheable
将方法的运行结果进行缓存,
属性: cacheNames/value 指定缓存的名字
key:缓存数据使用的key,可以用它来指定,默认是使用方法的参数值
keyGenerator:指定key的生成方式
cacheManager:缓存管理器,在系统中,可能使用多个缓存管理器,有的使用HashMap,有的使用Redis缓存
cacheResolver:缓存解析器,同样是用来管理缓存组件
condition:满足条件时才进行缓存
unless:除非,满足条件的时候不缓存,
sync:异步,缓存是否使用异步模式

缓存的原理:
1、从自动配置原理开始
自动配置类:CacheAutoConfiguration
2、缓存的配置类
3、哪个配置类会生效
默认SimpleCacheConfiguration生效
4、给容器中注册了一个cacheManager:ConcurrentMapCacheManager
5、可以获取和创建ConcurrentMapCache类型的缓存组件,它的作用是将数据保存在ConcurrentMap中
运行流程:
1、方法运行之前,先查询Cache缓存组件,按照cacheNames指定的名字获取
CacheManager先获取相应的缓存,第一次获取缓存如果没

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中,你可以使用`@Cacheable`注解来启用缓存功能,并且可以与Redis集成来实现缓存。 `@Cacheable`注解可以应用在方法上,用于指示Spring在调用此方法之前,首先从缓存中查找对应的数据。如果缓存中有数据,则直接返回缓存中的数据,不再执行方法体内的代码。如果缓存中没有数据,则会执行方法体内的代码,并将返回值存储到缓存中。 要使用`@Cacheable`注解,你需要在启动类上添加`@EnableCaching`注解来启用缓存功能。此外,还需要配置Redis作为缓存的存储介质。 首先,引入依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 接下来,在`application.properties`或`application.yml`中配置Redis连接信息: ```yaml spring.redis.host=your_redis_host spring.redis.port=your_redis_port ``` 然后,在需要使用缓存的方法上添加`@Cacheable`注解,指定缓存的名称: ```java @Cacheable("myCache") public String getData(String key) { // 从数据库或其他数据源获取数据的逻辑 } ``` 以上示例中,方法`getData()`会先从名为`myCache`的缓存中查找数据,如果找到则直接返回缓存中的数据;如果没有找到,则执行方法体内的代码,并将返回值缓存起来。 注意:为了使`@Cacheable`注解生效,需要在启动类上添加`@EnableCaching`注解。 这样,你就可以在Spring Boot中使用Redis缓存注解来提高应用的性能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值