我们正在使用启用了本地缓存的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;
如何覆盖本地缓存的这种行为(由于大量的读取操作正在进行,不能使用本地缓存)? 提前谢谢,
答案 0 :(得分:1)
我认为这是在documentation(强调添加)中解释的:
本地缓存的对象存储在与之相同的进程空间中 缓存客户端进程。当缓存客户端请求本地缓存时 object,客户端接收对本地缓存对象的引用 而不是副本
和
将对象存储在本地缓存中后,应用程序 无论如何,它们都会继续使用这些对象,直到它们失效 这些对象是否由缓存上的另一个客户端更新 簇。出于这个原因,我 t最好使用本地缓存来获取数据 不经常改变。