类 NoneSohelpCacheProvider
- 所有已实现的接口:
SohelpCacheProvider
所有写操作为空操作,get(java.lang.String) 始终返回 null,isEnabled() 返回 false。
调用方通过 provider.isEnabled() 判断是否需要绕过缓存直接查询数据库。
适用于开发调试阶段或不需要缓存的场景,确保每次请求都直接查询最新数据。
- 从以下版本开始:
- 2026-03-23
- 作者:
- AaronFung
-
构造器详细资料
-
NoneSohelpCacheProvider
public NoneSohelpCacheProvider()
-
-
方法详细资料
-
get
获取缓存值根据给定的缓存键查询对应的缓存值。若缓存未命中(key 不存在或已过期), 则返回
null。无缓存模式下始终返回
null,表示缓存未命中,调用方应直接查询数据库。- 指定者:
get在接口中SohelpCacheProvider- 参数:
key- 缓存键(本实现中不使用)- 返回:
- 始终返回
null
-
put
写入缓存(使用构造时设定的默认 TTL)将键值对存入缓存,过期时间采用实例创建时指定的默认 TTL。 若 key 已存在,则覆盖旧值并重置过期时间。
无缓存模式下为空操作,不做任何存储。
- 指定者:
put在接口中SohelpCacheProvider- 参数:
key- 缓存键(本实现中不使用)value- 缓存值(本实现中不使用)
-
put
写入缓存并指定 TTL将键值对存入缓存,并使用调用方显式指定的 TTL 作为过期时间。 若 key 已存在,则覆盖旧值并重置过期时间。
无缓存模式下为空操作,不做任何存储。
- 指定者:
put在接口中SohelpCacheProvider- 参数:
key- 缓存键(本实现中不使用)value- 缓存值(本实现中不使用)ttlSeconds- TTL 秒数(本实现中不使用)
-
remove
删除指定缓存项从缓存中移除给定 key 对应的键值对。若 key 不存在,则不做任何操作。
无缓存模式下为空操作,无需移除任何数据。
- 指定者:
remove在接口中SohelpCacheProvider- 参数:
key- 缓存键(本实现中不使用)
-
clear
public void clear()清空该命名空间下的所有缓存移除当前缓存实例管理的全部键值对。对于 Redis 实现, 仅清除当前命名空间前缀下的 key,不影响其他命名空间。
无缓存模式下为空操作,无需清空任何数据。
- 指定者:
clear在接口中SohelpCacheProvider
-
contains
判断指定 key 是否存在且未过期检查给定的缓存键是否仍然有效(存在且未超过 TTL)。
无缓存模式下始终返回
false,表示任何 key 都不存在于缓存中。- 指定者:
contains在接口中SohelpCacheProvider- 参数:
key- 缓存键(本实现中不使用)- 返回:
- 始终返回
false
-
isEnabled
public boolean isEnabled()是否启用缓存NONE 模式返回
false,调用方应检查此标志并直接查询数据库, 避免无效缓存逻辑。MEMORY 和 REDIS 模式均返回true。无缓存模式下缓存未启用,调用方应检查此返回值并直接查询数据库。
- 指定者:
isEnabled在接口中SohelpCacheProvider- 返回:
- 始终返回
false,表示缓存未启用
-
size
public int size()获取当前缓存中的 key 数量返回当前命名空间下有效(未过期)的缓存条目数。
无缓存模式下不存储任何数据,因此大小始终为 0。
- 指定者:
size在接口中SohelpCacheProvider- 返回:
- 始终返回
0
-
keys
获取当前命名空间下所有缓存 key(不含前缀)返回当前缓存实例管理的所有有效 key 集合。对于 Redis 实现, 返回的 key 已去除命名空间前缀。
无缓存模式下不存储任何数据,返回不可变的空集合。
- 指定者:
keys在接口中SohelpCacheProvider- 返回:
- 始终返回空的不可变集合,不会返回
null
-
getType
获取缓存提供者类型名称用于日志输出、监控等场景,标识当前使用的缓存类型。
- 指定者:
getType在接口中SohelpCacheProvider- 返回:
- 固定返回
"NONE",标识当前为无缓存实现
-