使用AppFabric缓存服务在执行期间更新本地缓存内容

时间:2015-01-30 09:02:38

标签: caching appfabric

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

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;

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

1 个答案:

答案 0 :(得分:1)

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

  

本地缓存的对象存储在与之相同的进程空间中   缓存客户端进程。当缓存客户端请求本地缓存时   object,客户端接收对本地缓存对象的引用   而不是副本

  

将对象存储在本地缓存中后,应用程序   无论如何,它们都会继续使用这些对象,直到它们失效   这些对象是否由缓存上的另一个客户端更新   簇。出于这个原因,我 t最好使用本地缓存来获取数据   不经常改变