varnish缓存初探(3)—核心配置

简介: varnish缓存学习的第三步

核心的配置是/etc/varnish/default.vcl,配置的是Varinsh的引擎。

分析最常用的引擎

①vcl_recv引擎,最初接受HTTP的请求的引擎,判断是否需要进入hash引擎

②vcl_hash 引擎,定义hit和Miss的路径,所以走默认路

③vcl_purge引擎,缓存对象的修剪

④vcl_backend_response引擎,定义要缓存的文件时长

⑤deliver引擎,定义响应信息的显示

实例:

1.vcl_recv引擎:
1.1定义前端获取的x-forwarded-for地址

if (req.http.x-forwarded-for) {
set req.http.X-Forwarded-For = regsub(req.http.X-Forwarded-For, “,.*”, “”);
} else {
set req.http.X-Forwarded-For = client.ip;
}

1.2定义获取缓存的后端

set req.backend_hint = fsweb.backend()

#fsweb.backend()在二小节已经定义过

2.vcl_backend_response引擎:定义缓存的实效

if (beresp.http.cache-control !~ “s-maxage”) {
if (bereq.url ~ “(?i)\.(jpg|jpeg|png|gif|css|js)$”) {
unset beresp.http.Set-Cookie;
set beresp.ttl = 3600s;
}
}

258b6602f17a8aea83ce0d24bb37327e91fbd21e

相关文章
|
1月前
|
存储 缓存 安全
在 Service Worker 中配置缓存策略
Service Worker 是一种可编程的网络代理,允许开发者控制网页如何加载资源。通过在 Service Worker 中配置缓存策略,可以优化应用性能,减少加载时间,提升用户体验。此策略涉及缓存的存储、更新和检索机制。
|
1月前
|
存储 缓存 监控
配置 Webpack 5 持久化缓存时需要注意哪些安全问题?
【10月更文挑战第23天】通过全面、系统地分析和应对安全问题,能够更好地保障 Webpack 5 持久化缓存的安全,为项目的成功构建和运行提供坚实的安全基础。同时,要保持对安全技术的关注和学习,不断提升安全防范能力,以应对日益复杂的安全挑战。
|
2月前
|
存储 缓存 监控
|
3月前
|
缓存 监控 负载均衡
在使用CDN时,如何配置缓存规则以优化性能
在使用CDN时,如何配置缓存规则以优化性能
|
2月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
61 0
消息中间件 缓存 监控
144 0
|
4月前
|
缓存 NoSQL 测试技术
【Azure Redis 缓存】Azure Redis 功能性讨论三: 调优参数配置
【Azure Redis 缓存】Azure Redis 功能性讨论三: 调优参数配置
|
3月前
|
XML 存储 缓存
Squid 缓存服务器配置
Squid 缓存服务器配置
133 0
|
4月前
|
存储 缓存 NoSQL
【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
|
4月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置
【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置