Haproxy Cache

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缓存起来,
backend bck1
	mode http
	http-request cache-use foobar
	http-response cache-store foobar
	server srv1 127.0.0.1:80

cache foobar
	total-max-size 4
	max-age 240

你可能感兴趣的:(linux运维)