类 SohelpCacheManageService
java.lang.Object
net.sohelp.boot.admin.core.cache.SohelpCacheManageService
缓存统一管理服务
通过 Spring 自动注入所有 ISohelpCache 实现,提供对系统所有业务缓存的统一管理能力,包括:
- 全量清空 / 全量重载
- 按名称单独清空 / 重载
- 查看各缓存状态概览
- 从以下版本开始:
- 2026-03-25
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
-
构造器详细资料
-
SohelpCacheManageService
public SohelpCacheManageService()
-
-
方法详细资料
-
clearAll
@Comment("\u6e05\u7a7a\u6240\u6709\u7f13\u5b58") public void clearAll()清空所有业务缓存遍历所有已注册的缓存实例,逐一调用
ISohelpCache.clear()方法。 单个缓存清空失败不会中断整体流程,错误会记录到日志。 -
reloadAll
重载所有业务缓存(清空后重新从数据库加载)遍历所有已注册的缓存实例,逐一调用
ISohelpCache.reload()方法。 单个缓存重载失败不会中断整体流程,错误会记录到日志。- 抛出:
SQLException- 数据库查询过程中发生异常(实际上单个缓存的异常已被内部捕获)
-
clearByName
@Comment("\u6309\u540d\u79f0\u6e05\u7a7a\u7f13\u5b58") public void clearByName(@Comment("\u7f13\u5b58\u540d\u79f0") String cacheName) 按名称清空指定缓存根据缓存名称查找对应的缓存实例并清空其数据。 若名称不存在,抛出
IllegalArgumentException异常。- 参数:
cacheName- 要清空的缓存名称- 抛出:
IllegalArgumentException- 当指定的缓存名称不存在时抛出
-
reloadByName
@Comment("\u6309\u540d\u79f0\u91cd\u8f7d\u7f13\u5b58") public void reloadByName(@Comment("\u7f13\u5b58\u540d\u79f0") String cacheName) throws SQLException 按名称重载指定缓存根据缓存名称查找对应的缓存实例并重新加载其数据。 若名称不存在,抛出
IllegalArgumentException异常。- 参数:
cacheName- 要重载的缓存名称- 抛出:
SQLException- 数据库查询过程中发生异常IllegalArgumentException- 当指定的缓存名称不存在时抛出
-
list
获取所有缓存名称列表及描述信息遍历所有已注册的缓存实例,返回每个缓存的名称(
name)和 描述(description)组成的列表,用于缓存管理界面展示。- 返回:
- 缓存信息列表,每个元素为包含
name和description键的 Map
-
detail
@Comment("\u67e5\u770b\u7f13\u5b58\u8be6\u60c5") public Map<String,Object> detail(@Comment("\u7f13\u5b58\u540d\u79f0") String cacheName) 查看指定缓存的详情(所有 key-value)- 参数:
cacheName- 缓存名称- 返回:
- 缓存详情,包含 name、description、type、size、entries
- 抛出:
IllegalArgumentException- 当指定的缓存名称不存在时抛出
-