Memcached#
O módulo é usado para obter respostas de um servidor memcached. A chave é definida na variável $memcached_key. Uma resposta deve ser colocada no memcached antecipadamente por meios externos ao Angie. Faz com que as conexões de saída para um servidor memcached se originem do endereço IP local especificado com uma porta opcional. O valor do parâmetro pode conter variáveis. O valor especial O parâmetro Para que este parâmetro funcione, geralmente é necessário executar os processos worker do Angie com privilégios de superusuário. No Linux isso não é necessário, pois se o parâmetro Nota É necessário configurar a tabela de roteamento do kernel para interceptar o tráfego de rede do servidor memcached. Define o tamanho do buffer usado para ler a primeira parte da resposta recebida do servidor memcached. A resposta é passada para o cliente de forma síncrona, assim que é recebida. Padrão http, server, location Define um timeout para estabelecer uma conexão com um servidor memcached. Deve-se notar que este timeout geralmente não pode exceder 75 segundos. Habilita o teste para a presença da flag na resposta do servidor memcached e define o campo de cabeçalho de resposta Padrão http, server, location Especifica em quais casos uma requisição deve ser passada para o próximo servidor no pool upstream: ocorreu um erro ao estabelecer uma conexão com o servidor, passar uma requisição para ele, ou ler o cabeçalho da resposta; ocorreu um timeout ao estabelecer uma conexão com o servidor, passar uma requisição para ele, ou ler o cabeçalho da resposta; um servidor retornou uma resposta vazia ou inválida; uma resposta não foi encontrada no servidor; desabilita passar uma requisição para o próximo servidor. Nota Deve-se ter em mente que passar uma requisição para o próximo servidor só é possível se nada foi enviado para um cliente ainda. Ou seja, se um erro ou timeout ocorre no meio da transferência de uma resposta, corrigir isso é impossível. A diretiva também define o que é considerado uma tentativa malsucedida de comunicação com um servidor. sempre consideradas tentativas malsucedidas, mesmo se não estiverem especificadas na diretiva nunca considerada tentativa malsucedida Passar uma requisição para o próximo servidor pode ser limitado pelo número de tentativas e por tempo. Padrão http, server, location Limita o tempo durante o qual uma requisição pode ser passada para o próximo servidor. desativa esta limitação Padrão http, server, location Limita o número de tentativas possíveis para passar uma requisição para o próximo servidor. desativa esta limitação Define o endereço do servidor memcached. O endereço pode ser especificado como um nome de domínio ou endereço IP, e uma porta: ou como um caminho de socket de domínio UNIX: Se um nome de domínio resolve para vários endereços, todos eles serão usados de forma round-robin. Além disso, um endereço pode ser especificado como um grupo de servidores. Define um timeout para ler uma resposta do servidor memcached. O timeout é definido apenas entre duas operações de leitura sucessivas, não para a transmissão de toda a resposta. Se o servidor memcached não transmitir nada dentro deste tempo, a conexão é fechada. Define um timeout para transmitir uma requisição para o servidor memcached. O timeout é definido apenas entre duas operações de escrita sucessivas, não para a transmissão de toda a requisição. Se o servidor memcached não receber nada dentro deste tempo, a conexão é fechada. Padrão http, server, location Configura o comportamento "TCP keepalive" para conexões de saída para um servidor memcached. Por padrão, as configurações do sistema operacional estão em vigor para o socket. A opção de socket SO_KEEPALIVE é ativada para o socket. Define uma chave para obter resposta de um servidor memcached.Exemplo de Configuração#
server {
location / {
set $memcached_key "$uri?$args";
memcached_pass host:11211;
error_page 404 502 504 = @fallback;
}
location @fallback {
proxy_pass http://backend;
}
}
Diretivas#
memcached_bind#
off
cancela o efeito da diretiva memcached_bind herdada do nível de configuração anterior, o que permite ao sistema atribuir automaticamente o endereço IP local e a porta.transparent
permite que as conexões de saída para um servidor memcached se originem de um endereço IP não local, por exemplo, de um endereço IP real de um cliente:memcached_bind $remote_addr transparent;
transparent
for especificado, os processos worker herdam a capacidade CAP_NET_RAW do processo mestre.memcached_buffer_size#
memcached_connect_timeout#
memcached_connect_timeout
time;memcached_connect_timeout 60s;
memcached_gzip_flag#
Content-Encoding
como "gzip" se a flag estiver definida.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_send_timeout#
memcached_socket_keepalive#
memcached_socket_keepalive
on
| off
;memcached_socket_keepalive off;
off
on
Variáveis Integradas#
$memcached_key
#