[Zope] Cacheing

Jason Jones jason_j@countermedia.org
Tue, 14 Sep 1999 13:10:28 -0500


----- Original Message -----
From: Peter Sabaini <cccp@oeh.tu-graz.ac.at>
To: Jason Jones <jason_j@countermedia.org>
Cc: <zope@zope.org>
Sent: Tuesday, September 14, 1999 12:42 PM
Subject: Re: [Zope] Cacheing


> On Tue, 14 Sep 1999, Jason Jones wrote:
>
> :As I understand it, this scheme would pretty much create a cached copy of
> :the rendered object which would itself live in the ZODB. It seems like
there
> :is still a performance penalty with keeping the cached item in the ZODB
> :though (even when the object is in-memory), for instance I can serve
30-40
> :concurrent static DTML Documents from ZServer on my machine, but when I
> :render the same material to disk and serve from apache the performance
leaps
> :ahead. Maybe a top-level cache should bypass the ZODB altogether if it
can,
>
> why not just use some separate subsystem for caching, eq. a squid
> in httpd accelerator mode?
>
> it would be necessary to set appropriate cache control headers and
> expiry dates. i think this would be possible with zope?

I'm not that familiar with squid. How would you sync expiration from squid
with objects changing in zope? I don't want a hard time to expire, rather I
want my cache to refresh its contents as my backend changes (for most
objects, others will need a hard expire date). Would I need to
programmatically remove cached items from squid when the ZODB is updated so
that Zope gets hit and the cache reloaded, or can squid check against ZODB
modification times to see that my objects have changed? Is it
straightforward to do this? if it isn't then squid doesn't do me much good
unless I render everything to the filesystem every time something changes.

These might be dumb questions, but like I said I don't know that much about
squid. I understand that it is a proxy server, but it doesn't have any zope
integration does it?

Thanks,

jason