刷新Azure中多个实例的内存缓存

时间:2017-07-24 10:36:28

标签: azure web-applications

我有一个Azure网络应用程序,它使用内存缓存,按如下方式添加密钥

    public static void Add(object item, string key)
    {
        var wrapper = new CacheItemWrapper()
        {
            InsertedAt = DateTime.Now,
            Item = item
        };
        MemoryCache.Default.Add(key, wrapper, ObjectCache.InfiniteAbsoluteExpiration);
    }

我们的应用程序的用户偶尔会进行更改,这需要刷新缓存。我可以调用一个清除缓存的方法,问题是,它只适用于获取请求的实例。其他实例在内存中仍然具有旧值。

我有什么方法可以做这些事情

a)跨多个实例运行方法,或 b)举起一个所有实例都在听的事件?

上面的代码可能会在短时间内更改为过期,以便所有实例都可以选择此代码。但是,更新缓存需要相当长的时间,这可能会影响性能。鉴于应用程序知道何时需要刷新缓存,如果可以通过编程方式完成,它会更好,响应更快。

0 个答案:

没有答案