So, if an object as an LM of, lets say, 3 days ago and it's "new" on my cache... How does a %50 percent option work? Will it be "fresh" for one and a half day? Sorry, but I'll need a dummy explanation 'cause I don't get it. On 10/30/07, RW <fbsd06@xxxxxxxxxxxxxxxxxxx> wrote: > On Wed, 31 Oct 2007 12:31:39 +1300 (NZDT) > "Amos Jeffries" <squid3@xxxxxxxxxxxxx> 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.) > > > > >