HAproxy提供了一个缓存机制。
这个缓存是基于进程与线程共享的内存,这个内存被分为每块大小1k的块。
如果块不再使用,它能够被删除来存储新的对象。
这个cache使用host头和rui的hash值作为key
当一个对象从缓存中得到传送地址,在日志中server name将会使用”“
限制:
在以下情况缓存中不会存储对象:
1、返回值不是200
2、返回头中包含Vary
3、Content-Length+ header size >“max-object-size”
4、返回不可缓存
5、不使用GET方法
6、HTTP version<1.1
7、请求中包含Authorization
cache section
-
cache
声明cache区域,分配一个共享缓存名称。 -
total-max-size
定义使用内存大小,这个块将会被分为1kb的小块,它的最大值为4095 -
max-object-size
定义缓存对象的大小,不能大于total-max-size的一般。如果没有定义,将会等于256个cache size。当objects的大小大于该值后将不会被缓存 -
max-age
定义缓存过期时间,默认60s,
proxy section
- http-request cache-use [{if | unless} ]
试着去发送中缓存的对象。 - http-response cache