●advanced topics(重要的话题)
         这里指南涵盖所有varnish基本的东西。如果您熟读上面的内容,您现在已经可以使用varnish
         下面是一个简单的概括,没有完全覆盖指南。
         More VCL
                   VCL是一个比较复杂的,我们已经讨论至今。这里还有很多可用的子程序和一些动作我们没有讨论。关于VCL完整的手册,请参见man page
         Using Inline C to extend Varnish
                   使用内置的C延伸varnish,如果您在varnish使用这种方法要小心,c语言运行在varnish内部,如果您的c语言有问题,那么varnish可能会宕掉。
                   首先使用C语言记录日志到syslog
# The include statements must be outside the subroutines.
 
 
C{
        #include <syslog.h>
}C
 
sub vcl_something {
        C{
                syslog(LOG_INFO, "Something happened at VCL line XX.");
        }C
}
Edge side Includes
Varnish可以在cache中创建一个web页面和其他页面不放在一起,这个片段有个特殊的缓存策略,如果您的网站有一个列表显示您最受欢迎的5篇文章。如果您的网站有这个页面,您可以制造一个缓存包括其他所有的页面。使用得当,可以大大提高您的命中率,减少对服务器的负载。ESI代码如下:
<HTML>
<BODY>
The time is: <esi:include src="/cgi-bin/date.cgi"/>
at this very moment.
</BODY>
</HTML>
vcl_fetch中使用esi关键字:
sub vcl_fetch {
    if (req.url == "/test.html") {
        esi;  /* Do ESI processing */
    }
}