Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#.NET Memcached:是否添加具有文件依赖项的项?_C#_.net_Memcached - Fatal编程技术网

C#.NET Memcached:是否添加具有文件依赖项的项?

C#.NET Memcached:是否添加具有文件依赖项的项?,c#,.net,memcached,C#,.net,Memcached,我们有一个由12台服务器组成的web服务器场,所有服务器都运行完全相同的站点 我们有一个文件,比如config.xml,在所有12台服务器上都是相同的。内容存储在memcached中(通过Enyim客户端) 每当此文件发生更改时,在12台服务器中的任何一台服务器上,都应清除此文件的缓存版本并替换为新版本的内容 为此,每个web服务器都使用一个FileSystemWatcher并监视其config.xml版本,如果该文件发生更改,则删除缓存的内容 当我们想要更改config.xml时,我们将向所有

我们有一个由12台服务器组成的web服务器场,所有服务器都运行完全相同的站点

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

每当此文件发生更改时,在12台服务器中的任何一台服务器上,都应清除此文件的缓存版本并替换为新版本的内容

为此,每个web服务器都使用一个FileSystemWatcher并监视其config.xml版本,如果该文件发生更改,则删除缓存的内容

当我们想要更改config.xml时,我们将向所有12台web服务器上传一个新版本。问题是,每个web服务器都使用其FileSystemWatcher检测到更改,所有12个web服务器都会删除缓存的值,并放入新的内容值

换句话说,当我们只希望清除文件更改缓存依赖项执行一次时,它会执行12次(因为所有12个副本都是相同的)


什么是解决方案?

让服务器获取缓存的内容,将其与文件进行比较,仅当memcache的内容与文件的内容不匹配时才对其进行更改。

让服务器获取缓存的内容,将其与文件进行比较,并且仅当memcache的内容与文件的内容不匹配时才对其进行更改