我在 Django 前面运行 Squid (3.1) 缓存。网站内容不经常更改,因此 Squid 为我们的后端提供了急需的喘息空间。
目前,这是我们用于缓存内容的刷新模式:
refresh_pattern . 60 100% 60 基本上,我们希望将所有内容缓存至少一个小时(并且只有一个小时),然后 Squid 重新验证内容。
我的问题是关于设置流明因子的“100%”参数。
我不确定将其设置为 100% 是否符合我们的要求。假设将其设置为 100% 可以确保对象在缓存中停留最长的缓存时间。
这是一个错误的假设吗?
设置这样的刷新模式时应该遵循哪些最佳做法?
答案1
正如参考文献所述:
“百分比”是对象年龄(自上次修改以来的时间)的百分比,没有明确到期时间的对象将被视为新鲜的。
(http://www.squid-cache.org/Doc/config/refresh_pattern/)
这意味着,对于一个 1 天大的物体,如果系数为 50%,该物体将在 12 小时内被视为新鲜。此外,至少在最短时间内,最多在最长时间内,该物体将被视为新鲜。
这个想法是认为较旧的物体比较新的物体更不容易变得陈旧。
随着你的刷新模式,所有对象都缓存 60 分钟正是如此,流明系数实际上并不重要。我建议将其保持在 100%。我不知道系数为 0% 会发生什么,有谁知道吗?
如果您的最大时间高于最小时间,则 lm 因子会更为重要。