代码改变世界

varnish失效策略

2012-03-22 11:59  danielYang  阅读(336)  评论(0)    收藏  举报

新版本的varnish失效已开始采用ban命令进行:ban.url /example.html

ban命令只对缓存中已经存在的数据有效,它并不会阻止新的内容加入到缓存中。

ban命令并不是使该文件缓存立即失效,其采用的策略是将此缓存文件加入到一个列表。有一个工作线程ban lurker会对该列表进行处理。等待客户端下次访问该文件时,如果命中则进一步在bans列表里查询是否有此数据,如果在列表里匹配到该文件则失效,当然这些都是在传递数据给客户端之前进行的。