VCL中主要动作:

pass:当一个请求被pass后,这个请求将通过varnish转发到后端服务器,该请求不会被缓
存,后续的请求仍然通过Varnish处理。pass可以放在vcl_recv 和vcl_fetch中。
lookup:当一个请求在vcl_recv中被lookup后,varnish将从缓存中提取数据,如果缓存中
没有数据,将被设置为pass,不能在vcl_fetch中设置lookup。
pipe:pipe和pass相似,都要访问后端服务器,不过当进入pipe模式后,在此连接未
关闭前,后续的所有请求都直接发到后端服务器,不经过Varnish的处理。
deliver:请求的目标被缓存,然后发送给客户端
hit_for_pass:表示直接从后台获取数据,会创建一个hit_for_pass的对象,该对象的TTL
值将会被设置成beresp.ttl的当前值。用来控制vcl_deliver如何处理当前的请求,
后续的请求会直接vcl_pass,可在vcl_fetch中用
fetch:从后端服务器获取请求目标,控制权转交给vcl_fetch。
hash:进入Hash模式
restart:重启本次事务,重新返回给vcl_recv,如果重启次数超过了max_restarts报错
ok:表示正常
error:表示错误

 VCL中,有3个重要的数据结构

req
请求目标,当varnish接收到一个请求,这时req object就被创建了,在vcl_recv中的大部分工作,都是在req object上展开的。

  • client.ip:客户端IP
  • req.request:请求类型,例如”GET”,”HEAD”
  • req.url:请求的URL
  • req.backend:使用哪个后端服务器为这个请求提供服务
  • req.backend.healthy:后端服务器是否健康
  • req.http.header:对应的HTTP头
  • req.grace:设置对象被保持的时间

beresp
后端服务器返回的目标,它包含返回的头信息,在vcl_fetch中的大部分工作都是在beresp object上开展的。

  • bereq.request:请求的类型(如 "GET", "HEAD")
  • bereq.url:请求的url
  • bereq.http.header:请求的HTTP header
  • beresp.do_gzip:是否在存储前Gzip压缩
  • beresp.do_gunzip:是否在存储前解压缩
  • beresp.http.header:HTTP header
  • beresp.status:HTTP的状态码
  • beresp.ttl:对象保存的时间
  • beresp.grace:对象grace保存的时间

obj
被cache的目标,只读的目标被保存于内存中,obj.ttl的值可修改,其他的只能读。

  • obj.status :服务器返回的HTTP状态码
  • obj.ttl:目标的剩余生存时间,以秒为单位
  • obj.grace:对象grace的存活时间
  • obj.http.header:Http header

最新文章

  1. 提取ecshop的mysql类
  2. Mongo DB 2.6 需要知道的一些自身限定
  3. cocos2dx 3.1获取系统当前时间
  4. Android高手速成
  5. slickedit的alias配置
  6. SQL Server 2012安装后找不到服务器名称的解决办法!!!
  7. (视频) 基于HTML5的服务器远程访问工具
  8. IOS 手势事件的冲突
  9. linux下tomcat服务的启动、关闭与错误跟踪
  10. Hadoop教程之编写HelloWorld(2)
  11. Android Handler 避免内存泄漏的用法总结
  12. iOS IAP教程
  13. android 25 跨进程启动activity
  14. Hibernate 系列教程8-复合主键
  15. java‘小秘密’系列(一)---String、StringBuffer、StringBuilder
  16. Python爬虫入门:Cookie的使用
  17. break和continue的简单介绍
  18. javascript闭包学习
  19. office word memo
  20. Intellij IDEA 导入Maven项目

热门文章

  1. RISC-V riscv64-unknown-elf
  2. 使用hibernate利用实体类生成表和利用表生成实体类
  3. Flutter移动电商实战 --(37)路由_Fluro引入和商品详细页建立
  4. MongoDB(mongodb-win32-x86_64-enterprise-windows-64-4.2.1-signed.msi)下载,启动和插入数据,查询
  5. Clock Generator PLL with Integrated VCO_ADF4360-9
  6. leetcode 79. Word Search 、212. Word Search II
  7. C之输入输出
  8. HTM概述
  9. 使用ffmpeg裁剪和合并视频
  10. 查看进程的命令ps