类 SohelpCacheManageService

java.lang.Object
net.sohelp.boot.admin.core.cache.SohelpCacheManageService

@Service public class SohelpCacheManageService extends Object
缓存统一管理服务

通过 Spring 自动注入所有 ISohelpCache 实现,提供对系统所有业务缓存的统一管理能力,包括:

  • 全量清空 / 全量重载
  • 按名称单独清空 / 重载
  • 查看各缓存状态概览
从以下版本开始:
2026-03-25
作者:
AaronFung
  • 构造器详细资料

    • SohelpCacheManageService

      public SohelpCacheManageService()
  • 方法详细资料

    • clearAll

      @Comment("\u6e05\u7a7a\u6240\u6709\u7f13\u5b58") public void clearAll()
      清空所有业务缓存

      遍历所有已注册的缓存实例,逐一调用 ISohelpCache.clear() 方法。 单个缓存清空失败不会中断整体流程,错误会记录到日志。

    • reloadAll

      @Comment("\u91cd\u8f7d\u6240\u6709\u7f13\u5b58") public void reloadAll() throws SQLException
      重载所有业务缓存(清空后重新从数据库加载)

      遍历所有已注册的缓存实例,逐一调用 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

      @Comment("\u83b7\u53d6\u6240\u6709\u7f13\u5b58\u5217\u8868") public List<Map<String,String>> list()
      获取所有缓存名称列表及描述信息

      遍历所有已注册的缓存实例,返回每个缓存的名称(name)和 描述(description)组成的列表,用于缓存管理界面展示。

      返回:
      缓存信息列表,每个元素为包含 namedescription 键的 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 - 当指定的缓存名称不存在时抛出