> Is there an equivalent caching module for Quixote? > > Also, much of what the new app will be doing is finding URLs in a > database > based on the querystring and then sending redirects to the client. > Obviously, I'd like to cache the key / URL pairs after they are used the > first time. Is there an easy way to do this with Quixote? Dan, While there isn't (to my knowledge) a caching module per se in Quixote, it would be very easy to implement, and there are a number of ways it could be done. The first that comes to mind would be sub-classing the Publisher class to implement a CachingPublisher, which, upon seeing a familiar URL could return the cached version of the data without even going through the URL traversal stage. Another would be to subclass Publisher to make it call a caching proxy when it's ready to publish an object/namespace/function/etc, and let the proxy have a crack at serving a cached version, or fetching the real thing. I'm sure there are lots of ways to do this, (probably two or three for each person using Quixote!) but I think most or all of high performance ones would involve subclassing the Publisher. I don't know how familiar you are with the source, (but I'm assuming you aren't very familiar with it) but this is really an easy proposition. On your second point, if you mean something like "http://server.org/goto?url=http://somedocserver/doc.txt" gets looked up to be routed to some other url, this would be easy to do, results could be cacheable, and you wouldn't have to modify the Quixote framework in any way. Of course, you'd have to implement the caching mechanism yourself, (it wouldn't magically happen as I suspect it does in .NET), and you'd have to deal with issues like cache expiry, cache size limitations, and the like when you come up with your implementation. Also, caching would be useless (performance wise) if the Quixote process isn't some form of long running process (FastCGI, SCGI, running standalone as Medusa, or Twisted, etc...) but I'm guessing that's obvious... Just wanted to throw it out there in case it isn't. I don't know your environment, so I don't know how tricky that might be to pull off. (Having worked in MS shops before, I know sometimes it's impossible to get admins to let you set up 'crazy things' (anything not from Redmond) on 'their' servers!) Hope that helps, and if not, stick around, I'm sure some other folks with have interesting comments on this. Jason Sibre