我们的每个生产Web服务器都为单独的网站(ASP.NET Web应用程序)维护自己的缓存。 当前,要清除缓存,我们登录服务器并“触摸” web.config文件。

有没有人有一个安全/安全的方法示例来远程重置特定Web应用程序的缓存? 理想情况下,我们可以说“清除在所有服务器上运行的应用X的缓存”,但也可以“清除在服务器Y上运行的应用X的缓存”。

编辑/澄清:

  • 我可能应该澄清一下,实际上不是通过应用程序执行此操作(即以某种方式登录到应用程序,浏览特定页面或清除缓存的处理程序)。 为了执行此操作,我们需要禁用/绕过日志记录和统计信息跟踪代码,或弄乱统计信息。

  • 是的,缓存会定期过期。 我想做的是设置一些东西,以便我可以按需使特定的缓存过期,通常是在我们更改了数据库中的某些东西之后(我们正在使用SQL 2000)。 我们现在可以执行此操作,但是只能登录到服务器本身。

===============>>#1 票数:2

对于每个应用程序,您可以编写一些cache-dump.aspx脚本来终止缓存/应用程序数据。 将其复制到所有应用程序,并编写中心脚本来管理调用。

为了安全起见,您可以添加各种身份验证查找或IP检查。

这是我进行实际应用转储的方式:

Context.Application.Lock()
Context.Session.Abandon()
Context.Application.RemoveAll()
Context.Application.UnLock()

===============>>#2 票数:1 已采纳

找到了有关触摸实用程序的DevX文章,看起来很有用。

我将尝试将其与数据库中的表(添加记录,touch实用程序找到它并更新相应的web.config文件)或Web服务(进行调用并调用touch实用程序进行更新)结合起来适当的web.config文件)

===============>>#3 票数:0

这可能并不“优雅”,但是您可以设置执行批处理脚本的计划任务。 该脚本实际上将为您“触摸” web.config(或其他导致重新编译的文件)。

否则,您的应用程序缓存是否未设置为在N分钟后过期?

  ask by Sean Gough translate from so

未解决问题?本站智能推荐:

1回复

有什么方法可以清除服务器场中的缓存?

我已经在一个应用程序中实现了OutputCache,并且工作正常,但是由于我将该位置指定为服务器,并且这些应用程序在服务器场(2台服务器)中运行,因此当我清除缓存时,它一次只能从一台服务器清除。 我曾考虑过指定服务器位置(硬代码),以便将缓存存储在一个位置,并且在需要时可以轻松清除。 因此,
1回复

从Web服务器强制重置HTST缓存

我正在使用nginx作为反向代理和该应用程序的nodejs 。 我想知道是否存在从Web服务器强制执行HSTS或HTTPS严格传输安全性的解决方案? 我不想让用户重置其浏览器缓存,因为它确实是技术性的,并且他们不知道如何解决该问题。
5回复

在PHP中进行服务器端输出缓存的最佳方法是什么?

我现在有一个非常复杂的index.php ,我想每小时只运行一次。 实现这一目标的最佳方法是什么? 我有过一些想法 用apc_store($page, 60*60*)把它放在APC中 - 我觉得这不是APC的用途,可能会对我网站的其他部分做些坏事 将输出保存到某个文件系统
1回复

在ASP.NET Web服务器中数据库支持的,驻留内存的全局缓存的最佳位置是什么?

出于性能原因,我必须在内存中缓存对象层次结构,该对象层次结构反映了具有列(ObjectID,ParentObjectID,Timestamp)的简单数据库表并查看CurrentObjectHierarchy。 我查询CurrentObjectHierarchy,并使用哈希表缓存每个对象的当前父
1回复

在Node JS中实现服务器端缓存的最佳方法

我正在尝试在Node JS中实现服务器端缓存,我已经阅读了有关express-redis-cache ,但是这个解决方案如何与负载均衡的节点服务器一起工作? 我可能会使用类似AWS Redis Service的东西,但它会失去在某些外部服务器上使用Redis的全部目的,因为它会增加延迟。 你
1回复

重置任何服务器/ PHP缓存

在我的本地环境中发生了一些非常奇怪的事情( PHP APC:使用了前一个请求的includepath而不是current ),而在其他环境下使用相同的代码不会发生这种情况。 所以我怀疑正在发生一些缓存问题 我应该执行什么步骤来确保清除所有可能的(服务器端)缓存? 我的代码是带有Ap
3回复

服务器集群的缓存方法

我在JBoss AS 5.1集群上部署了Java应用程序,该程序需要缓存大量(> 3 GB)的数据。 现在,服务器集群只有2个节点(独立的计算机)。 以下是具体要求: 两个节点都不应要求将数据加载到缓存中(即,应该存在复制或缓存应位于单独的服务器上) 数据永不过期。 以
1回复

在iPhone中从远程服务器缓存图像

嗨,我有一些图像存储在缓存中。 我需要将缓存图像存储在目录中。 我尝试了以下方法EgoImageview和以下两种方法 但是在这种情况下,缓存无法正常工作 以下是cache image fn的代码 请给我一些更好的方法
1回复

Microsoft Velocity-在单个服务器上共享缓存数据的最佳方法

我有几个WCF服务和ASP.NET应用程序都通过共享服务层访问数据。 在此层中,我正在执行所有必需的数据访问和缓存。 现在,我需要在WCF和ASP.NET之间共享缓存的对象。 配置Velocity在单台服务器上工作的最佳方法是什么。 另外,如何禁用对象序列化? 谢谢!
3回复

在两台服务器之间同步缓存数据的最佳方法

要在两个服务器之间同步缓存数据。 两个数据库都共享同一个数据库,但是为了获得更好的执行数据,我在启动时已将数据缓存到Hash Map中。 因此希望在不重新启动服务器的情况下同步缓存的数据。 (两个服务器同时启动)。 请给我建议最好,最有效的方法。