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-store [{if | unless} ]
将http-response缓存起来,
backen

HAProxy提供了基于内存的缓存功能,缓存利用进程和线程共享内存,使用host头和URI的hash值作为键。当满足特定条件如200响应、非Vary头等时,对象会被缓存。缓存区可以通过`cache`指令定义,并可配置最大内存、对象大小和过期时间。在代理部分,可以使用`http-request cache-use`和`http-response cache-store`指令控制缓存行为。
最低0.47元/天 解锁文章
275

被折叠的 条评论
为什么被折叠?



