[squid-users] Re: Help on Refresh Pattern options

From: RW <fbsd06@dont-contact.us>
Date: Wed, 31 Oct 2007 02:20:38 +0000

On Wed, 31 Oct 2007 12:31:39 +1300 (NZDT)
"Amos Jeffries" <squid3@treenet.co.nz> wrote:

> > Hi there:
> > I'm having some problems understanding how the refresh_pattern
> > options works.
> > The Squid guide says:
> >
> >
> > FRESH if expires < now, else STALE
> > STALE if age > max
> > FRESH if lm-factor < percent, else STALE
> > FRESH if age < min
> > else STALE
> >
> > Min:
> > time (in minutes), an object without an explicit expire time should
> > be considered fresh.
> >
> > Percent:
> > percentage of the objects age (time since last modification age) an
> > object without explicit expire time will be considered fresh.
> >
> > Max:
> > upper limit on how long objects without an explicit expiry time will
> > be considered fresh.
> >
> >
> > So, my question is this; if the object's age is between Min and Max,
> > is it STALE or FRESH?
>
> That logic says STALE (!<min ... choosing else).

No it doesn't, you have to follow the pseudocode through until you get a
STALE/FRESH result, and then stop. If you can compute an lm-factor,
then the "age < min" line can't be reached.

Objects without an LM time cannot be refreshed, they have to be
refetched; without a min setting such objects would not be cached at
all.

> IMHO, Max is there because max-age (given by server) CAN be less than
> min (configured).

"max" is ignored if the server supplies an expiry time, it's there to
provide an upper-limit to how long a object can be kept fresh by its
lm-factor.

There are basically three classes of object:

1. with explicit expiry information (max/min/percent are ignored)

2. with LM, but no expiry - governed by percent and max.

3 with neither - governed by min

( Note that all of the above assumes that no refresh rule override
options have been set.)
Received on Tue Oct 30 2007 - 20:21:02 MDT

This archive was generated by hypermail pre-2.1.9 : Thu Nov 01 2007 - 13:00:02 MDT