Memcached#
Este módulo se utiliza para obtener respuestas desde un servidor memcached. La clave se establece en la variable $memcached_key. Una respuesta debe estar previamente almacenada en memcached por medios externos a Angie. Valor predeterminado — http, server, location Hace que las conexiones salientes a un servidor memcached se originen desde la dirección IP local especificada con un puerto opcional. El valor del parámetro puede contener variables. El valor especial El parámetro Para que este parámetro funcione, normalmente es necesario ejecutar los procesos de trabajo de Angie con privilegios de superusuario. En Linux no es necesario, ya que si se especifica el parámetro Nota Es necesario configurar la tabla de enrutamiento del kernel para interceptar el tráfico de red desde el servidor memcached. Valor predeterminado http, server, location Establece el tamaño del búfer utilizado para leer la primera parte de la respuesta recibida del servidor memcached. La respuesta se pasa al cliente de forma sincrónica, tan pronto como se recibe. Valor predeterminado http, server, location Define un tiempo de espera para establecer una conexión con un servidor memcached. Cabe destacar que este tiempo de espera normalmente no puede exceder los 75 segundos. Habilita la comprobación de la presencia del flag en la respuesta del servidor memcached y establece el campo de cabecera de respuesta Valor predeterminado http, server, location Especifica en qué casos una solicitud debe pasarse al siguiente servidor en el grupo upstream: ocurrió un error al establecer una conexión con el servidor, al pasar una solicitud a él o al leer la cabecera de respuesta; se produjo un tiempo de espera al establecer una conexión con el servidor, al pasar una solicitud a él o al leer la cabecera de respuesta; un servidor devolvió una respuesta vacía o inválida; no se encontró una respuesta en el servidor; desactiva el paso de una solicitud al siguiente servidor. Nota Se debe tener en cuenta que pasar una solicitud al siguiente servidor solo es posible si aún no se ha enviado nada al cliente. Es decir, si ocurre un error o tiempo de espera en medio de la transferencia de una respuesta, es imposible solucionarlo. La directiva también define lo que se considera un intento fallido de comunicación con un servidor. siempre se cuentan como intentos fallidos, incluso si no se especifican en la directiva nunca se cuentan como intentos fallidos El paso de una solicitud al siguiente servidor puede estar limitado por el número de intentos y por el tiempo. Valor predeterminado http, server, location Limita el tiempo durante el cual una solicitud puede ser pasada al siguiente servidor. desactiva esta limitación Valor predeterminado http, server, location Limita el número de posibles intentos para pasar una solicitud al siguiente servidor. desactiva esta limitación Establece la dirección del servidor memcached. La dirección puede especificarse como un nombre de dominio o dirección IP, y un puerto: o como una ruta de socket de dominio UNIX: Si un nombre de dominio se resuelve a varias direcciones, todas ellas se utilizarán de forma rotatoria. Además, una dirección puede especificarse como un grupo de servidores. Valor predeterminado http, server, location Define un tiempo de espera para leer una respuesta del servidor memcached. El tiempo de espera se aplica solo entre dos operaciones de lectura consecutivas, no para la transmisión de toda la respuesta. Si el servidor memcached no transmite nada dentro de este tiempo, se cierra la conexión. Valor predeterminado http, server, location Establece un tiempo de espera para transmitir una solicitud al servidor memcached. El tiempo de espera se aplica solo entre dos operaciones de escritura sucesivas, no para la transmisión de toda la solicitud. Si el servidor memcached no recibe nada dentro de este tiempo, se cierra la conexión. Valor predeterminado http, server, location Configura el comportamiento de "keepalive" TCP para las conexiones salientes a un servidor memcached. Por defecto, la configuración del sistema operativo está en efecto para el socket. La opción de socket SO_KEEPALIVE está activada para el socket. Define una clave para obtener la respuesta de un servidor memcached.Ejemplo de configuración#
server {
location / {
set $memcached_key "$uri?$args";
memcached_pass host:11211;
error_page 404 502 504 = @fallback;
}
location @fallback {
proxy_pass http://backend;
}
}
Directivas#
memcached_bind#
memcached_bind
address [transparent
] | off
;off
cancela el efecto de la directiva memcached_bind heredada del nivel de configuración anterior, lo que permite al sistema asignar automáticamente la dirección IP local y el puerto.transparent
permite que las conexiones salientes a un servidor memcached se originen desde una dirección IP no local, por ejemplo, desde una dirección IP real de un cliente:memcached_bind $remote_addr transparent;
transparent
, los procesos de trabajo heredan la capacidad CAP_NET_RAW del proceso maestro.memcached_buffer_size#
memcached_buffer_size
size;memcached_buffer_size 4k|8k;
memcached_connect_timeout#
memcached_connect_timeout
time;memcached_connect_timeout 60s;
memcached_gzip_flag#
Content-Encoding
a "gzip" si el flag está establecido.memcached_next_upstream#
memcached_next_upstream
error
| timeout
| invalid_response
| not_found
| off
...;memcached_next_upstream error timeout;
error
timeout
invalid_response
not_found
off
error
, timeout
, invalid_response
not_found
memcached_next_upstream_timeout#
memcached_next_upstream_timeout
time;memcached_next_upstream_timeout 0;
0
memcached_next_upstream_tries#
memcached_next_upstream_tries
number;memcached_next_upstream_tries 0;
0
memcached_pass#
memcached_pass localhost:11211;
memcached_pass unix:/tmp/memcached.socket;
memcached_read_timeout#
memcached_read_timeout
time;memcached_read_timeout 60s;
memcached_send_timeout#
memcached_send_timeout
time;memcached_send_timeout 60s;
memcached_socket_keepalive#
memcached_socket_keepalive
on
| off
;memcached_socket_keepalive off;
off
on
Variables Integradas#
$memcached_key
#