spring cache(二)原理&底层核心接口

原理

流程说明:
 CacheAutoConfiguration  =>  RedisCacheConfiguration =>
 自动配置了RedisCacheManager =>  初始化所有的缓存 => 
 每个缓存决定使用什么配置=>
 =>如果RredisCacheConfiguration有就用已有的,没有就用默认配置(CacheProperties)
 =>想改缓存的配置,只要给容器中放一个RredisCacheConfiguration即可
 =>就会应用到当前RedisCacheManager管理的所有缓存分区中
 

1、CacheAutoConfiguration 

缓存的自动配置,用的类型是redis所以看 RedisCacheConfiguration

2、CacheManager

缓存管理者,类型是redis所以看 RedisCacheManager

3、CacheProperties 

缓存默认配置

4、@CacheEvict

@CacheEvict是通过AOP实现的,其中核心的类是CacheAspectSupport

一、RedisCacheWriter

1、介绍

RedisCacheWriter 是 Spring Cache 模块(spring-data-redis)中的一个核心接口,用于实现 Redis 缓存的读写操作,它是 Spring Cache 抽象层与 Redis 实现之间的桥梁。

2、对比RedisTemplate

特性RedisTemplateRedisCacheWriter
用途通用 Redis 操作工具类Spring Cache 缓存系统内部实现
功能提供丰富操作:list、set、zset、hash 等仅用于缓存 get/put/evict 等操作
设计目标面向开发者直接调用面向 Spring Cache 框架内部使用
是否支持锁机制不支持可选加锁版本

3、使用方法

一般你不会自己直接用 RedisCacheWriter,而是通过配置 RedisCacheManager 使用:

@Bean
public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
    RedisCacheWriter cacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory);

    RedisCacheConfiguration defaultCacheConfig = RedisCacheConfiguration.defaultCacheConfig()
        .entryTtl(Duration.ofMinutes(30)); // 设置默认 TTL

    return new RedisCacheManager(cacheWriter, defaultCacheConfig);
}

二、RedisCacheManager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值