Kinkie wrote:
On 7/2/07, martin sarsale <runa@xxxxxxxxxxxx> wrote:
Dear all:
We're developing the new version of our CMS and we would like to use
squid in accelerator mode to speed up our service.
From the application side, we know exactly when the data changed and we
would like to invalidate all cached data for that site. Is this
possible? maybe using squidclient or something.
We can't do this purging url by url since it doesn't makes much sense
(and we don't have the url list!). We want to wipe out every cached
object for mysite.com.
You can't do that on the squid side either, since squid doesn't index
objects by URL but by hash. The only way is to PURGE the relevant
object.
You can reduce quite a lot the window of staleness by specifying in
every response the HTTP header:
Cache-Control: s-maxage=XXX, public, proxy-revalidate
(reference taken from: http://www.mnot.net/cache_docs/)
by choosing the right XXX value (the time in seconds before the object
expires) you'll be able to find the right balance between higher load
on the backend (smaller values of XXX) and higher chance of serving
stale content (higher values of XXX)
(sorry for the delay)
I understand what you are proposing with that header but IMHO that's
valid for a 'dumb' system who cannot determine when it was modified.
Since my system has this feature (I know the exact date the content as
altered) I would like to let Squid handling ALL the work except when is
really needed.
I understand about object hashes... does it hashes the full URL (ie,
including domain?) because if domain was hashed separately I could purge
the entire domain hash.
Any other hints? unofficial patches? alternative products? squid forks?
thanks