您好我正在使用以下代码来缓存对象。
HttpRuntime.Cache.Insert(“Doc001”,_ document); HttpRuntime.Cache.Remove( “Doc001”);
我想知道缓存是否存储? (在客户端PC或IIS服务器上)
这是缓存对象的保存方式吗?通过以这种方式添加和删除缓存会影响任何其他客户端,例如我已连接2个客户端并且两者都存储缓存“ HttpRuntime。 Cache.Insert(“Doc001”,_ document); “和一个客户端删除缓存,是否只在客户端级别删除?
答案 0 :(得分:1)
这取决于您编写此代码的位置。如果您在WCF服务中执行此操作,则对象将存储在托管此服务的进程的内存中(如果IIS然后是w3p.exe)。缓存将在服务的所有客户端之间共享,这意味着如果客户端从缓存中删除项目,则其他客户端也将看到它被删除。
使用此构造时要知道的一件重要事情是运行时可能会决定在某些情况下使缓存中的对象失效(例如在低内存上运行),因此在使用之前始终要检查缓存中是否存在对象它:不要以为如果你把它放在那里你会在以后找到它。
答案 1 :(得分:0)
缓存发生在网站(MVC)中。