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