接口 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
获取缓存名称(唯一标识)用于在
SohelpCacheManageService中按名称查找和管理缓存实例。- 返回:
- 缓存唯一标识名称
-
cacheDescription
获取缓存描述信息用于在缓存管理界面展示该缓存的中文说明。
- 返回:
- 缓存的中文描述文本
-
getProvider
SohelpCacheProvider getProvider()获取底层缓存提供者返回该缓存实例所使用的
SohelpCacheProvider, 默认方法put(java.lang.String, java.lang.Object)、get(java.lang.String)、remove(java.lang.String)、clear()均委托此提供者执行实际操作。- 返回:
- 缓存提供者实例
-
put
写入缓存将指定的键值对写入缓存。默认实现委托给
SohelpCacheProvider.put(String, Object)。- 参数:
key- 缓存键,不能为nullvalue- 缓存值,允许为null
-
get
获取缓存值根据指定键从缓存中获取对应的值。默认实现委托给
SohelpCacheProvider.get(String)。- 参数:
key- 缓存键,不能为null- 返回:
- 缓存中对应的值;未命中时返回
null
-
remove
删除指定缓存项从缓存中移除指定键对应的条目。默认实现委托给
SohelpCacheProvider.remove(String)。- 参数:
key- 缓存键,不能为null
-
clear
@Comment("\u6e05\u7a7a\u7f13\u5b58") default void clear()清空该缓存的所有数据移除当前缓存实例中的全部缓存条目。默认实现委托给
SohelpCacheProvider.clear()。 -
reload
从数据库重新加载缓存数据清空当前缓存并从持久化存储(数据库)中重新加载全量数据。 各业务缓存子类需实现此方法以定义具体的重载逻辑。
- 抛出:
SQLException- 数据库查询过程中发生异常
-