You use the Mach-II caching package which was designed to be independent
of the MVC part of the framework and used in any application. There is
a wiki entry just for that here:
http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/wiki/UsingCachingOutsideOfMachII
Best,
Peter
Jason Allen said the following on 26/02/10 15:13:
Ok, well I've been researching this..
My idea is to use a custom query name, probably just a random string,
that is generated based on some user specific criteria (ip/datetime).
Then, when the query is first ran, if a custom query name is not
already defined (like passed from a url variable), it is cached
against that new custom query name.
Then, if they page to a new set of results from the big query, like
records 50-75, that custom query name will be passed as a url
variable, and used as the query name. Since that query was recently
cached, the cached query will be used. And in the case that the cached
query has expired, but the url.queryname is still passed, it will just
reuse that queryname, run the query again, and recache it.
This would prevent other users from getting results from another
user's cached queries.
Make sense?
Basically (in crude writeup)
if isdefined(url.queryname) and url.queryname neq ''
set queryname = url.queryname
else
<cfset queryname = createcustomstring(ip+date)>
<CFQUERY name="#queryname#" cachedwithin=';>
bla bla bla
--
Open BlueDragon Public Mailing List
http://www.openbluedragon.org/ http://twitter.com/OpenBlueDragon
mailing list - http://groups.google.com/group/openbd?hl=en
!! save a network - please trim replies before posting !!