【问题标题】:Local Cache contents get updated during execution using AppFabric caching services本地缓存内容在执行期间使用 AppFabric 缓存服务进行更新
【发布时间】:2015-01-30 09:02:38
【问题描述】:

我们正在使用启用本地缓存的 AppFabric 缓存服务。 对数据(从缓存获取)执行的内存操作似乎保存在本地缓存中(没有明确地将更新的对象放入缓存中)。 我在文档中读到的内容,本地缓存只保存一个本地副本,并且还有一些机制可以使本地缓存无效。 我可以做些什么来覆盖这个本地缓存行为(根据我最初的理解,本地缓存内容是只读的,这里似乎不是这种情况) 这是正在使用的配置:

DataCacheFactoryConfiguration configuration = new DataCacheFactoryConfiguration();
        configuration.TransportProperties.MaxBufferSize = int.MaxValue;
        configuration.TransportProperties.MaxBufferPoolSize = long.MaxValue;
        configuration.MaxConnectionsToServer = MaxConnectionsToServer;
        DataCacheServerEndpoint server = new DataCacheServerEndpoint(host, port);
        List<DataCacheServerEndpoint> servers = new List<DataCacheServerEndpoint>();
        servers.Add(server);
        configuration.Servers = servers;
        DataCacheLocalCacheProperties localCacheProperties = new DataCacheLocalCacheProperties(MaxObjectCount, LocalCacheTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased);
        configuration.LocalCacheProperties = localCacheProperties;

如何覆盖本地缓存的这种行为(由于正在进行大量读取操作,不使用本地缓存不是一种选择)? 提前致谢,

【问题讨论】:

    标签: caching appfabric


    【解决方案1】:

    我认为这在documentation 中有解释(强调添加):

    本地缓存的对象存储在与 缓存客户端进程。当一个缓存客户端请求一个本地缓存的 对象,客户端接收到对本地缓存对象的引用 而不是副本

    对象存储到本地缓存后,您的应用程序 继续使用这些对象,直到它们失效,无论 这些对象是否由缓存上的另一个客户端更新 簇。出于这个原因,我t最好使用本地缓存来存储数据 很少更改

    【讨论】:

    • 失效策略(基于超时/基于通知)在主缓存发生变化时使本地缓存失效。是否有任何机制让用户知道本地缓存的内容是由客户端进程更新的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多