default:2.1.5
0 |
Directors:random(随机或者根据权重)、round-robin(轮循)、client(客户端属性cliet.ip)、hash(hash)、DNS(解析调度) |
Functions:
0 1 2 3 |
hash_data(str) #主要用来生成缓存对象的hash key regsub(str, regex, sub) #替换字符换str中匹配上正则表达式的内容为sub字符串,只替换一次 regsuball(str, regex, sub) #同上,不过这个方法是替换所有匹配的 purge_url(regex) #使符合的url的对象不被缓存,3.x中被ban_url(regex) 替代 |
Subroutines:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
vcl_recv:用于接收和处理请求。当请求成功被调用后,Varnish通过判断请求的数据来决定如何处理请求。此模块一般以如下几个关键字结束。 error code [reason]:返回指定代码,并放弃请求 pass:表示进入pass模式,把请求交给vcl_pass模块处理 pipe:表示进入pipe模式,把请求交给vcl_pipe模块处理。 lookup:一个请求在vcl_recv中被lookup后,Varnish将在缓存中提取数据。如果缓存中有相应的数据,就把控制权交给vcl_hit模块;如果缓存中没有相应的数据,请求将被设置为pass并将其交给vcl_miss模块。 vcl_pipe:此模块在请求进入pipe模式时被调用,用于将请求直接传递至后端主机,在请求和返回的内容没有改变的情况下,也就是在当前连接未关闭时,服务器将不变的内容返回给客户端,直到该连接被关闭。 error code [reason]:表示把错误标识返回给客户端,并放弃处理该请求。错误标识包括200、405等。"reason"是对错误的提示信息。 pipe:进入pipe模式 vcl_pass:模块表示当请求被pass后,用于将请求直接传递至后端应用服务器。后端应用服务器在接收请求后将数据发送给客户端,但不进行任何数据的缓存,在当前连接下每次都返回最新的内容。 error code [reason]:表示把错误标识返回给客户端,并放弃处理该请求。错误标识包括200、405等。"reason"是对错误的提示信息。 pass:进入pass模式 restart:Restart the transaction. Increases the restart counter. If the number of restarts is higher than max_restarts varnish emits a guru meditation error. vcl_hash:当您想把一个数据添加到 hash 上时,调用此函数 The vcl_hash subroutine may terminate with calling return() with one of the following keywords: hash:进入hash模式 vcl_hit:在执行 lookup 指令后,在缓存中找到请求的内容后将自动调用该函数。 deliver:提交命中的目标给客户端,控制权转交vcl_deliver子程序 error code [reason]:表示把错误标识返回给客户端,并放弃处理该请求。错误标识包括200、405等。"reason"是对错误的提示信息。 pass:表示进入pass模式,把请求交给vcl_pass模块处理 restart:重新启动流程,增加启动次数,如果重新启动次数高于 max_restarts 发出一个错误警告 vcl_miss:在执行 lookup 指令后,在缓存中没有找到请求的内容时自动调用该方法。此函数可用于判断是否需要从后端服务器获取内容。 error code [reason]:表示把错误标识返回给客户端,并放弃处理该请求。错误标识包括200、405等。"reason"是对错误的提示信息。 pass:表示进入pass模式,把请求交给vcl_pass模块处理 fetch:表示从后端获取请求的内容,并把控制权交给 vcl_fetch 函数。 vcl_fetch:在后端主机更新缓存并且获取内容后调用该方法,接着,通过判断获取的内容来决定是将内容放入缓存,还是直接返回给客户端。 deliver:将对象插入缓存中,然后返回给客户端,最终由 vcl_deliver 控制 error code [reason]:表示把错误标识返回给客户端,并放弃处理该请求。错误标识包括200、405等。"reason"是对错误的提示信息 esi: ESI-process the document which has just been fetched. pass:表示进入pass模式,把请求交给vcl_pass模块处理 restart:重新启动流程,增加启动次数,如果重新启动次数高于 max_restarts 发出一个错误警告 vcl_deliver:当一个没有被缓存的数据交付给客户端的时候被调用 deliver:对象交由客户端处理 error code [reason]:表示把错误标识返回给客户端,并放弃处理该请求。 restart:重新启动流程,增加启动次数,如果重新启动次数高于 max_restarts 发出一个错误警告 vcl_error:出现错误时调用此函数 deliver:将错误信息传递给客户端 restart:重新启动流程,增加启动次数,如果重新启动次数高于 max_restarts 发出一个错误警告 |
申明:除非注明Byrd's Blog内容均为原创,未经许可禁止转载!详情请阅读版权申明!