Nop中使用的缓存主要是使用内存缓存,使用了由System.Runtime.Caching中的MemoryCache。
应用场景:
针对高访问的批量数据查询时使用,高访问的单个查询数据时使用。
主要对象:
Nop.Core.Caching
ICacheManager 定义缓存功能
MemoryCacheManager 实现缓存功能(使用MemoryCache.Default)
CacheExtensions 扩展缓存功能
ClearCacheTask 缓存清理任务(查看任务实现)
现有用例
当用户根据Id获取某条产品数据时,将根据产品Id缓存此数据到内存中;
或当系统获取所有角色时,将缓存所有角色数据。
业务流程
先定义缓存唯一键,避免与其他缓存重复
如:单行数据缓存Key为 Nop.product.id-{0},其中{0}是数据的关键值。
如:某个实体所有数据缓存KEY为 Nop.customerrole.all-{0}
使用方法
ICacheManager.Get(key,Func<T> );
时间到则清理
事件触发则清理(如添加事件、更改事件,参阅事件机制)