2010-09-29 86 views
0

我们有一个由12台服务器组成的网络农场,所有服务器都运行完全相同的网站。C#.NET Memcached:添加具有文件依赖性的项目?

我们有一个文件,比方说config.xml中,这是所有12个服务器上都相同。内容存储在memcached中(通过Enyim客户端)。

每当这个文件的变化,对任何12台服务器,这文件的缓存版本应清除,并用新版本的内容所取代。

要做到这一点,每个Web服务器使用FileSystemWatcher的和手表的config.xml中的版本,如果文件更改删除缓存的内容。

当我们想改变config.xml中,我们上传新版本的所有12台web服务器。问题在于每个Web服务器都通过其FileSystemWatcher检测到更改,并且所有12个Web服务器都会删除缓存的值,并将新的内容值放入。

换句话说,清洗,上档变化缓存依赖执行12次时,我们只希望它执行一次(因为所有的12份是相同的)。

什么是解决方案?

回答

3

让服务器获取缓存的内容,比较它的文件,只有改变它,当内存缓存的内容不会在文件的内容相匹配。

相关问题