using Microsoft.Extensions.Caching.Memory; namespace LFlow.Cache.Interface { /// /// 自身缓存接口 /// 后续扩展,可分为内部缓存和外部缓存 /// ISelfCache 只作为内部缓存接口 /// 内外部缓存的区别在于,内部缓存是程序自身的缓存,外部缓存则可共享给其他系统,并暴露在外 /// public interface ISelfCache { /// /// 缓存提供者,目前只支持MemoryCache,后续可扩展为使用接口,然后实现不同的缓存提供者 /// protected MemoryCache CacheProvider { get; } /// /// 获取 /// /// 类型 /// 键 /// Task GetAsync(string key); /// /// 获取 /// /// 键 /// Task GetAsync(string key); /// /// 存入一个值 /// /// 数据类型 /// 键 /// /// Task SetAsync(string key, T data); /// /// 存入一个值 /// /// 数据类型 /// 键 /// 数据 /// 过期时间 /// Task SetAsync(string key, T data, TimeSpan expiredTime); /// /// 移除一个键与他的值 /// /// /// Task RemoveAsync(string key); /// /// 清空缓存 /// /// Task ClearAsync(); } }