package com.vincent.rsf.server.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.system.entity.Config; public interface ConfigService extends IService { /** * Redis 可用时:先读 SYS_CONFIG 带 TTL 的条目;未命中或无效则读库,命中后尝试 setex 回写(写失败仍返回库里的值)。 * 无 Redis 时:用进程内 CONFIG_CACHE,未命中再读库。 */ Config getCachedOrLoad(String flag); /** 配置变更后剔除 Redis 中的副本,下次读取从库加载并重新 setex */ void evictSysConfigRedis(String flag); T getVal(String key, Class clazz); boolean setVal(String key, T val); R modiftyStatus(Config config); }