首页 > System.Web.HttpRuntime.Cache中的值为什么会不一样

System.Web.HttpRuntime.Cache中的值为什么会不一样

我将数据存入System.Web.HttpRuntime.Cache中,修改数据时做remove操作,在读cache时如果没有就做insert。

但是我在前台读出的cache数据中的内容时,
不停的刷新页面,内容一会是修改前的一会儿是修改后的。。

这是什么问题啊?

/*******************/
原来是IIS设置了多个进程。

那么在怎么清除多个进程中的缓存信息呢?


根据您的问题描述,你应该是使用的IIS Web Garden模式,且工作进程(Worker Process)大于1。在这种情况下,可能存在多个worker process并存,所以你的remove和insert会发生在不同的进程内,而HttpRuntime.Cache是属于进程内的内存,不能实现进程间共享。

可能的解决方案是:1.设置IIS的Web Garden的worker process是1,这样同一时间只会有1个proces在运行。但这可能带来性能的损失。 2. 使用分布式缓存程序如memcached, redis等等。

【热门文章】
【热门文章】