类 SohelpCacheManager
java.lang.Object
net.sohelp.boot.admin.core.cache.provider.SohelpCacheManager
缓存管理器(工厂)
根据 sohelp-boot.cache.type 配置,为各缓存类创建对应的 SohelpCacheProvider 实例:
MEMORY(默认)— 内存缓存,基于 Hutool TimedCacheREDIS— Redis 缓存,需配置 Spring Data RedisNONE— 不缓存,每次直接查询数据库
若 Redis 未配置但 type=REDIS,自动降级为内存缓存并输出警告日志。
全局 TTL(sohelp-boot.cache.ttl)优先级高于各缓存的默认 TTL;
若全局 TTL ≤ 0,则使用各缓存自身的 TTL。
自定义扩展:实现 SohelpCacheProvider 接口后,
在业务层直接 new 或通过 Spring 管理,传入各缓存类即可。
- 从以下版本开始:
- 2026-03-23
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
-
构造器详细资料
-
SohelpCacheManager
public SohelpCacheManager()
-
-
方法详细资料
-
createProvider
创建指定命名空间的缓存提供者实例根据全局缓存配置(
CacheConfig)中的类型和 TTL, 创建并返回对应的SohelpCacheProvider实现。创建流程如下:- 读取全局缓存配置中的类型(MEMORY / REDIS / NONE)
- 计算有效 TTL:若全局 TTL 大于 0 则使用全局值,否则使用调用方传入的默认 TTL
- 根据类型创建对应实例;REDIS 类型在 RedisTemplate 为空时自动降级为 MEMORY
- 参数:
namespace- 缓存命名空间(Redis 模式下作 Key 前缀,内存模式下用于日志区分),不允许为nullcacheTtlSeconds- 该缓存的默认 TTL(秒),≤0 表示永不过期- 返回:
- 对应类型的
SohelpCacheProvider实例,不会返回null
-