Estou tentando configurar o armazenamento em cache do Nginx com vários servidores usando uma instância do Redis compartilhada para armazenamento. Estou usando o HttpSRCacheModule , juntamente com HttpRedis2Module .
Na configuração de exemplo , tanto o HttpRedisModule quanto o HttpRedis2Module estão em uso. HttpRedis2Module usado para gravar no Redis, enquanto o HttpRedisModule é usado para leitura. O motivo para isso é que o HttpRedis2Module retorna apenas os dados brutos do Redis, em vez do valor de a chave que estou tentando acessar . Para esclarecer, metade do protocolo do Redis é incluída na saída deste módulo, que interrompe completamente seu uso no Nginx para recuperar valores.
Isso não faz muito sentido para mim. Eu não tenho certeza porque essa extensão seria construída de uma forma que impede que ela seja usada ... então estou pensando que estou perdendo alguma coisa. É possível usar o HttpRedis2Module para ler uma chave do Redis e retornar seu valor para o cliente HTTP?
Se você está se perguntando por que eu não uso o HttpRedisModule como ele é usado na configuração de exemplo, é que não consigo compilá-lo para o Nginx 1.6.0. Parece haver algum tipo de problema de compatibilidade. Outros sugeriram simplesmente usar o pacote OpenResty , mas estou evitando esse caminho por enquanto, já que você aparentemente não pode construir o OpenResty com seu próprio Nginx configurar parâmetros. Com os locais de todos os arquivos de configuração e o que não está mudando, tenho muita automação e scripts que precisariam ser atualizados. Eu posso ir com o OpenResty no final, mas eu gostaria de responder definitivamente a questão da leitura do Redis com o HttpRedis2Module primeiro.
Qualquer sugestão seria ótima. Obrigado!
Tags nginx