durusmail: quixote-users: Caching?
Caching?
2003-08-27
2003-08-27
2003-08-28
2003-08-28
2003-08-29
Re: Caching?
2003-08-28
Caching?
Dan Gottlieb
2003-08-28
Jason,

Thanks for your thoughts.  I was hoping someone with more Python experience
had built something I could work off of, but if my work load eases up in the
next few days I'll probably take a crack at putting together a caching
mechanism myself.  My inclination would be to use a dictionary with global
scope for the actual cache, matching cache keys with a tupples of expiration
times and html strings and then periodically loop through and remove expired
items.  Is this a good way to structure things?  I'd appreciate any advice
that you have.

- Dan


----- Original Message -----
From: "Jason Sibre" 
To: 
Sent: Tuesday, August 26, 2003 9:08 PM
Subject: RE: [Quixote-users] Caching?


> > 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
>
>
> _______________________________________________
> Quixote-users mailing list
> Quixote-users@mems-exchange.org
> http://mail.mems-exchange.org/mailman/listinfo/quixote-users
>
>



reply