我在ColdFusion MVC框架中有一个应用程序构建" Mach-II"并托管在蓝龙ColdFusion服务器上。
它会导致缓存问题。当我添加一个包含一些内容的新页面并加载页面时,它工作正常。但是,当我在同一个文件中进行一些更改并再次点击它时,它不会更新我的更改。它总是向我展示我在第一次做的内容。它似乎是服务器缓存我的页面,并没有考虑进一步的变化。我尝试了很多解决方案但未能解决问题。
如果您有任何解决方案,请告诉我。
答案 0 :(得分:4)
这对评论来说有点太长了 - 但这并不是一个答案。
首先,对于StackOverflow,您的问题非常广泛。如果您不是自己查看代码,并且没有任何内容可以向我们展示,则无法保证我们可以为您提供帮助。
听起来这个服务可能正在使用查询缓存 - 看起来像这样。
<cfquery datasource="CRM" name="testQuery" cachedwithin="#CreateTimeSpan(0,0,30,0)#">
-SQL logic-
</cfquery>
基本上它将查询结果存储在服务器的内存中。它确实可以帮助减轻数据库的压力。他们可能会为此缓存功能设置一个比您想要的更长的时间限制。
如果您无法访问该代码,则首先要问您这个问题。
编辑:可能完全不同。
https://docs.oracle.com/cd/E13176_01/bluedragon/621/BlueDragon_621_WL_User_Guide.html#_Toc121303111
来自消息来源:
ColdFusion(5和MX)将“模板缓存”定义为的地方 一旦从源代码BlueDragon渲染,就会在内存中保存模板 具有相同的概念,但将其称为“文件缓存”。同时 引擎,一旦从源呈现的模板将保留在缓存中 直到服务器(或J2EE或.NET Web应用程序)重新启动。
管理控制台中指定的缓存大小表示有多少 这些缓存的模板要保留。默认为60但该数字可能 需要根据您的应用程序进行更改,具体取决于CFML的数量 应用程序使用的模板。每个模板使用一个条目 (CFM或CFC文件)要求。
理解这不是缓存OUTPUT非常重要 页面,而是从源到模板的渲染 它的内部对象。共享一个缓存的模板实例 在应用程序的所有用户中。
与ColdFusion一样,一旦文件缓存已满(例如,您设置了 它已经请求了60和60个模板),然后是下一个请求 对于尚未缓存的模板,将强制引擎刷新 缓存中最老的(最近最少使用的)条目以腾出空间。 当然,如果你将这个文件缓存大小设置得太低,那么就会吵架 缓存可能发生,因为文件的空间只有很快就有了 再次请求刷新的文件。
听起来您可能需要重新启动ColdFusion应用程序或清除CFAdmin中的模板缓存。