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 !!

Reply via email to