Nopcommerce PerRequestCacheManager vs MemoryCacheManager

本文关键字:MemoryCacheManager vs PerRequestCacheManager Nopcommerce | 更新日期: 2023-09-27 18:13:06

我正在开发NopCommerce 2.40。我想通过CacheManager设置首页缓存

    var cacheModel = _cacheManager.Get(cacheKey, () =>
                {
                    var model = new HomePageProductsModel()
                     {
                    ....
                    ....
                     }
                  return model;
                });

当我调试这段代码时。它点击MemoryCacheManager中的Get方法。现在在管理方面,当我想删除这个缓存的关键,当我更新任何产品。下面调用的Remove方法点击PerRequestCacheManager的Remove。

 _cacheManager.Remove(string.Format("product.hometemplate-{0}-{1}", storeid, true));

所以主页上的缓存不会被删除。

Nopcommerce PerRequestCacheManager vs MemoryCacheManager

Nop。Web项目使用MemoryCacheManager。这些具有静态缓存(MemoryCacheManager)的控制器在'Nop.Web'Infrastructure' dependencyregistry .cs文件中定义。在这个文件中,我们定义了应该注入哪个ICacheManager实现。

但是我建议您使用nopCommerce中使用的相同方法。使用事件。订阅'Nop.Web'Infrastructure'Cache'ModelCacheEventConsumer.cs文件中的产品插入/删除/更新事件,并在那里重置缓存。看看这里是怎么做的

相关文章:
  • 没有找到相关文章