简体   繁体   English

Orchard以编程方式清除缓存

[英]Orchard programmatically purge cache

I am caching something with: 我正在缓存一些东西:

var htmlHEAD = _cacheManager.Get(THE_CACHE_KEY, ctx =>
        {
            ctx.Monitor(_clock.When(TimeSpan.FromMinutes(60)));

            return getTenantSpecificHeadHTMLFromDB()
        });

However, I want to be able to hit a URL and purge the cache if a quick change is ever needed. 但是,如果需要快速更改,我希望能够访问URL并清除缓存。

eg. 例如。 this is in AdminController. 这是在AdminController中。

public ActionResult purgeCache() {
    _cacheMangager.PurgeCache(THE_CACHE_KEY); //this doesn't exist :(

    return Content("OK");
}

How can I do this? 我怎样才能做到这一点?

不仅要监视基于时间的过期,还要监视命名信号(注入ISignalsctx.Monitor(_signals.When("SomeUniqueKeyForYourExpirationSignal")); ),然后在每次要清除缓存条目时触发该信号: _signals.Trigger("SomeUniqueKeyForYourExpirationSignal");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM