值转换器链,按优先级顺序执行转换器
internal sealed class ValueTransformerChain
Inheritance System.Object 🡒 ValueTransformerChain
性能优化: 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>) | 预热缓存:预先解密所有加密值 |