springboot怎么设置多个缓存

   2025-02-13 2520
核心提示:在Spring Boot中可以使用@CacheConfig注解来配置多个缓存。使用@CacheConfig注解可以为多个方法或类统一指定缓存配置。具体步骤

在Spring Boot中可以使用@CacheConfig注解来配置多个缓存。使用@CacheConfig注解可以为多个方法或类统一指定缓存配置。具体步骤如下:

在Spring Boot的主配置类或者需要启用缓存的配置类上添加@EnableCaching注解,开启缓存功能。

在需要启用缓存的方法上添加@Cacheable、@CachePut、@CacheEvict等缓存注解,指定缓存的一些配置,如缓存名称、缓存键等。

在需要启用缓存的类上添加@CacheConfig注解,指定默认的缓存配置,包括缓存的名称、缓存的管理器等。

下面是一个示例代码,演示如何在Spring Boot中配置多个缓存:

@Configuration@EnableCachingpublic class CacheConfig {        @Bean    public CacheManager cacheManager() {        SimpleCacheManager cacheManager = new SimpleCacheManager();                // 创建缓存对象        Cache cache1 = new ConcurrentMapCache("cache1");        Cache cache2 = new ConcurrentMapCache("cache2");                // 将缓存对象加入到缓存管理器中        cacheManager.setCaches(Arrays.asList(cache1, cache2));                return cacheManager;    }        @CacheConfig(cacheNames = "cache1")    @Service    public class MyService1 {                @Cacheable(key = "#id")        public String getDataFromCache(int id) {            // 从数据库或其他地方获取数据            return "Data from cache1";        }                @CachePut(key = "#id")        public String updateDataInCache(int id) {            // 更新缓存中的数据            return "Updated data in cache1";        }                @CacheEvict(key = "#id")        public void deleteDataFromCache(int id) {            // 从缓存中删除数据        }    }        @CacheConfig(cacheNames = "cache2")    @Service    public class MyService2 {                @Cacheable(key = "#id")        public String getDataFromCache(int id) {            // 从数据库或其他地方获取数据            return "Data from cache2";        }                @CachePut(key = "#id")        public String updateDataInCache(int id) {            // 更新缓存中的数据            return "Updated data in cache2";        }                @CacheEvict(key = "#id")        public void deleteDataFromCache(int id) {            // 从缓存中删除数据        }    }}

在上面的示例中,我们使用@CacheConfig注解为MyService1和MyService2类统一指定了缓存配置。MyService1使用了名为"cache1"的缓存,而MyService2使用了名为"cache2"的缓存。我们还需要在CacheConfig类中创建Cache对象,并将它们加入到缓存管理器中。

注意,@CacheConfig注解中的cacheNames属性指定了默认的缓存名称,如果在具体的方法上没有指定缓存名称,那么就会使用默认的缓存名称。如果在具体的方法上指定了缓存名称,那么就会使用方法上指定的缓存名称。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言