自学内容网 自学内容网

浅谈Spring Boot之缓存处理

在Spring Boot中处理缓存,可以通过以下几个步骤来实现:

1、添加依赖

首先,需要在项目的pom.xml文件中添加spring-boot-starter-cache依赖,以启用Spring Boot的缓存支持。

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

2、开启缓存管理

在配置类或启动类上添加@EnableCaching注解,以开启缓存管理功能。

@Configuration
@EnableCaching
public class CacheConfig {
    // 缓存配置
}

3、配置缓存管理器

可以通过实现CacheManager接口或使用CacheManagerCustomizer接口来自定义缓存管理器的行为。例如,使用ConcurrentMapCacheManager作为缓存管理器。

@Configuration
public class CacheManagerConfig {
    @Bean
    public CacheManager cacheManager() {
        return new ConcurrentMapCacheManager("cache1", "cache2");
    }
}

4、使用缓存注解:Spring Boot支持多种缓存注解,包括@Cacheable@CachePut@CacheEvict,用于控制方法级别的缓存行为。

  • @Cacheable:触发缓存填充。如果缓存中没有数据,则执行方法并将结果存入缓存。

@Cacheable(cacheNames = "cacheName", key = "#key")
public Object someMethod(String key) {
    // 方法逻辑
}

  • @CachePut:更新缓存而不干扰方法执行。

@CachePut(cacheNames = "cacheName", key = "#key")
public Object someMethod(String key) {
    // 方法逻辑
}

  • @CacheEvict:触发缓存失效。

@CacheEvict(cacheNames = "cacheName", key = "#key")
public void someMethod(String key) {
    // 方法逻辑
}

5、配置特定缓存提供者

如果需要使用特定的缓存提供者,如Redis、Caffeine等,可以通过设置spring.cache.type属性来指定。

spring.cache.type=redis

6、自定义缓存配置

对于不同的缓存提供者,如Redis、Caffeine等,可以通过定义特定的配置类来自定义缓存的行为。例如,对于Redis,可以定义RedisCacheManagerBuilderCustomizer来自定义缓存的TTL(生存时间)。

@Configuration
public class RedisCacheConfig {
    @Bean
    public RedisCacheManagerBuilderCustomizer redisCacheManagerBuilderCustomizer() {
        return builder -> builder
            .withCacheConfiguration("cache1", RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(10)))
            .withCacheConfiguration("cache2", RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(1)));
    }
}


原文地址:https://blog.csdn.net/a876106354/article/details/143843175

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!