Spring 中使用缓存技术

本文介绍了Spring中如何启用和配置缓存支持,包括注解驱动的缓存和XML声明的缓存。通过添加@EnableCaching开启注解支持,并配置CacheManager。Spring提供了多种缓存管理器实现,如SimpleCacheManager、RedisCacheManager等。方法上使用@Cacheable、@CachePut、@CacheEvict等注解来声明缓存规则,自定义key和条件化缓存。最后,还探讨了使用XML声明缓存的方式。
摘要由CSDN通过智能技术生成

一、启用对缓存的支持

Spring 的缓存抽象在很大程度上是围绕切面构建的。
Spring 对缓存的支持有两种方式:

  • 注解驱动的缓存
  • XML 声明的缓存

在方法上添加 @CacheableCacheEvivt 注解来使用缓存。

启用 Spring 对注解驱动缓存的支持,在配置类上添加 @EnableCaching,并声明缓存管理器:

    @Bean
    public CacheManager cacheManager(){
   
        return  new ConcurrentMapCacheManager();
    }

xml配置:

<cache:annotation-driven />
<bean id="cacheManager" class="org.springframework.cache.concurrent.ConcurrentMapCacheManager" />

启用注解驱动缓存后,会创建一个切面并触发Spring 缓存注解的切点。根据使用的注解及缓存状态,这个切面会从缓存中获取数据,将数据添加到缓存中或者从缓存中移除。
缓存管理器是 Spring 缓存抽象的核心,它能与多个流行的缓存实现进行集成。ConcurrentMapCacheManager 是一个简单的缓存管理器,但它是基于内存的,其生命周期是与应用关联的。

1、配置缓存管理器

Spring 3.1 内置了五个缓存管理器实现:

  • SimpleCacheManager
  • NoOpCacheManager
  • ConcurrentMapCacheManager
  • CompositeCacheManager
  • EhCacheManager

Spring 3.2 又引入了另一个缓存管理器,它可以用于基于 JCache 的缓存提供商中。除了核心的Spring 框架,Spring Data又提供了两个缓存管理器:

  • RedisCacheManger(来自 Spring Data Redis)
  • GemfireCacheManager (Spring Data CemFire)

使用 Redis 缓存
通过传递一个 RedisTemplate 实例到其构造器,构建 RedisCacheManger

@Configuration
@EnableCaching
public class CachingConfig {
   
    /
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值