varnish 清理缓存 purge和ban

简介:

【软件版本】

varnish 4.x


参考:https://www.varnish-cache.org/docs/4.1/users-guide/purging.html

【分析purge 和 ban的区别】


共同点:

清除缓存


不同点:

purge 是一个动作 执行对访问的url在缓存中进行purge 清除。 一次只能对一个url

ban 是一个策略,必须先增加ban禁止策略,下次访问匹配到这个禁止策略的时候,不会去缓存中找,直接去fetch后面的。ban能清理匹配到的任何内容。



purge比较好理解,ban看官网的一段解释

官方原文:

There is another way to invalidate content: Bans. You can think of bans as a sort of a filter on objects already in the cache. You bancertain content from being served from your cache. You can ban content based on any metadata we have. A ban will only work on objects already in the cache, it does not prevent new content from entering the cache or being served.

Support for bans is built into Varnish and available in the CLI interface. To ban every png object belonging on example.com, issue the following command:

ban req.http.host == "example.com" && req.url ~ "\\.png$"




翻译:

这个是(清除)无效内容的另一个方法: Bans. 你能将bans作为一个排序过的过滤缓存中的对象。你禁止某些内容来自你的缓存中。你能禁止的内容是我们缓存中的任何元数据。ban 仅仅工作在已经缓存的对象上,它不能阻止一个新的内容条目将被缓存。(我理解的意思是 ban只能使用一次,即一次性清理)



【用法】

purge的用法:

1 vcl配置文件中添加purge允许

2 curl -I - X PURGE http://10.59.74.33/123.jpg


ban的用法:

添加一个ban到禁止list中。

1 varnishadm -S /etc/varnish/secret -T 127.0.0.1:8080 'ban req.url ~ "0*.jpg$"'


当访问任何0*.jpg的uri的时候,将不会从缓存中取,直接去后端取(其实就是禁止使用缓存,换句话就是达到了 清除缓存的目的,这个就是squid没有设计到的,因为squid的清理只有purge 只能是执行动作去清理(一个很大的目录需要很多cpu),而不是想办法去匹配到禁止的url然后不去进入缓存中去取,达到相同的目的。)

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1867431如需转载请自行联系原作者


cuizhiliang

相关文章
|
7月前
|
缓存
Autojs4.1.0实战教程---快手极速版清理缓存
Autojs4.1.0实战教程---快手极速版清理缓存
287 1
|
8天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
124 78
|
2月前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
81 15
Android 系统缓存扫描与清理方法分析
|
4月前
|
缓存 开发工具
使用varnish缓存多个网站(三)
【8月更文挑战第9天】使用varnish缓存多个网站
70 5
|
4月前
|
存储 缓存 Linux
使用Varnish为网站加速(二)缓存一个网站
【8月更文挑战第9天】使用Varnish为网站加速安装使用缓存一个网站
33 1
|
4月前
|
SQL 缓存 监控
实时计算 Flink版产品使用问题之怎么手动清理缓存或废弃文件
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
缓存 分布式计算 关系型数据库
数据管理DMS操作报错合集之当进行RDS实例的可用区迁移时,提示“缓存清理”是什么意思
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
113 3
|
5月前
|
缓存
鸿蒙实现获取应用缓存和清理缓存
鸿蒙实现获取应用缓存和清理缓存
404 0
|
缓存
uniapp清理app缓存
uniapp清理app缓存
145 0
|
7月前
|
缓存 运维 Linux
LAMP+Varnish缓存详解(三)——多网站缓存
LAMP+Varnish缓存详解(三)——多网站缓存
56 2