Apq.Cfg.Internal.ValueTransformerChain.md 3.7 KB

Apq.Cfg

Apq.Cfg.Internal

ValueTransformerChain Class

值转换器链,按优先级顺序执行转换器

internal sealed class ValueTransformerChain

Inheritance System.Object 🡒 ValueTransformerChain

Remarks

性能优化: 1. 解密结果缓存 - 首次解密后缓存明文,后续读取直接返回缓存 2. 使用 StringComparison.Ordinal 进行前缀检查 3. 支持缓存失效(配置变更时) 4. LRU 缓存策略,限制最大缓存数量

Constructors
ValueTransformerChain(IEnumerable<IValueTransformer>, ValueTransformerOptions) 初始化值转换器链
Methods
AddToCache(string, string) 添加到解密缓存,带 LRU 淘汰
AddToNoTransformCache(string) 添加到不需要转换的缓存,带 LRU 淘汰
ClearCache() 清除所有缓存
EvictOldestEntries(ConcurrentDictionary<string,CacheEntry>, int) 淘汰最旧的缓存条目
EvictOldestNoTransformEntries(int) 淘汰最旧的不需要转换的缓存条目
GetCacheStats() 获取缓存统计信息
InvalidateCache(string) 使指定键的缓存失效(配置变更时调用)
TransformOnRead(string, string) 读取时转换(如解密),带缓存优化
TransformOnWrite(string, string) 写入时转换(如加密)
WarmupCache(IEnumerable<string>, Func<string,string>) 预热缓存:预先解密所有加密值