缓存查询
缓存查询是将结果存储在服务器内存中的查询。首次运行查询时会存储结果。从那时起,每当再次请求该查询时,ColdFusion 将从内存中检索结果。
你可以使用 cachedAfter
属性缓存查询。如果查询是在提供的日期之后最后一次运行,则使用缓存数据。否则,将重新运行查询。
<cfquery datasource="Entertainment" cachedAfter="July 20, 2016">
select *
from Movies
</cfquery>
为了使用缓存并避免对数据库的多次调用,当前查询必须使用与所使用的缓存查询相同的 SQL 语句,数据源,查询名称,用户名和密码。这包括查询中的空格。
因此,以下查询会创建不同的缓存,即使修剪后的字符相同且查询结果相同:
<cfquery datasource="Entertainment" cachedAfter="July 20, 2016">
select *
from Movies
<cfif false>
where 1 = 1
</cfif>
<cfif true>
where 1 = 1
</cfif>
</cfquery>
<cfquery datasource="Entertainment" cachedAfter="July 20, 2016">
select *
from Movies
<cfif true>
where 1 = 1
</cfif>
<cfif false>
where 1 = 1
</cfif>
</cfquery>