快取查詢

快取查詢是將結果儲存在伺服器記憶體中的查詢。首次執行查詢時會儲存結果。從那時起,每當再次請求該查詢時,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>