Cache a query for the current request
Cache a Query for the current request
Perhaps you're familiar with the "cachedwithin" attribute of the tag <cfquery>, which is normally used as follows:
<cfquery cachedWithin="#createTimeSpan(0,0,0,1)#"> select * from whatever where whatsoever='#whatsoever#' </cfquery>
This caches the query result for ALL users for one second. This is sometimes used to cache a query for the current request, because usually most requests are completed in less than a second.
The problem is that this cache applies to all requests and that's more complicated for Lucee, meaning unnecessary overhead on the system.
Request query caching is a simple solution to this problem, replace the timespan defined in the "cachedWithin" attribute with the value "request":
<cfquery cachedWithin="request"> select * from whatever where whatsoever='#whatsoever#' </cfquery>
Then the query is cached for only for the current request, independent of how long the request takes!