接口 ISohelpCache

所有已知实现类:
DictCache, OAuth2Cache, OrgCache, RoleCache, SohelpBootResourceCache, SystemParamCache, UserCache, UserMenuCache, UserParamCache, UserRoleCache

public interface ISohelpCache
业务缓存统一接口

所有业务缓存类实现此接口,提供统一的 put / get / remove / clear / reload 操作, 便于 SohelpCacheManageService 统一管理。

默认方法委托给 SohelpCacheProvider 执行实际的缓存操作, 子类只需实现 cacheName()cacheDescription()getProvider()reload() 即可。

从以下版本开始:
2026/3/25
作者:
AaronFung
  • 方法详细资料

    • cacheName

      @Comment("\u7f13\u5b58\u540d\u79f0") String cacheName()
      获取缓存名称(唯一标识)

      用于在 SohelpCacheManageService 中按名称查找和管理缓存实例。

      返回:
      缓存唯一标识名称
    • cacheDescription

      @Comment("\u7f13\u5b58\u63cf\u8ff0") String cacheDescription()
      获取缓存描述信息

      用于在缓存管理界面展示该缓存的中文说明。

      返回:
      缓存的中文描述文本
    • getProvider

      SohelpCacheProvider getProvider()
      获取底层缓存提供者

      返回该缓存实例所使用的 SohelpCacheProvider, 默认方法 put(java.lang.String, java.lang.Object)get(java.lang.String)remove(java.lang.String)clear() 均委托此提供者执行实际操作。

      返回:
      缓存提供者实例
    • put

      @Comment("\u5199\u5165\u7f13\u5b58") default void put(String key, Object value)
      写入缓存

      将指定的键值对写入缓存。默认实现委托给 SohelpCacheProvider.put(String, Object)

      参数:
      key - 缓存键,不能为 null
      value - 缓存值,允许为 null
    • get

      @Comment("\u83b7\u53d6\u7f13\u5b58\u503c") default Object get(String key)
      获取缓存值

      根据指定键从缓存中获取对应的值。默认实现委托给 SohelpCacheProvider.get(String)

      参数:
      key - 缓存键,不能为 null
      返回:
      缓存中对应的值;未命中时返回 null
    • remove

      @Comment("\u5220\u9664\u7f13\u5b58\u9879") default void remove(String key)
      删除指定缓存项

      从缓存中移除指定键对应的条目。默认实现委托给 SohelpCacheProvider.remove(String)

      参数:
      key - 缓存键,不能为 null
    • clear

      @Comment("\u6e05\u7a7a\u7f13\u5b58") default void clear()
      清空该缓存的所有数据

      移除当前缓存实例中的全部缓存条目。默认实现委托给 SohelpCacheProvider.clear()

    • reload

      @Comment("\u91cd\u8f7d\u7f13\u5b58") void reload() throws SQLException
      从数据库重新加载缓存数据

      清空当前缓存并从持久化存储(数据库)中重新加载全量数据。 各业务缓存子类需实现此方法以定义具体的重载逻辑。

      抛出:
      SQLException - 数据库查询过程中发生异常