Pergunta

Estou usando o nginx e o redis no meu site. Para vários itens no meu site, quero adicionar parâmetros de rastreamento aos seus URLs, para que, quando um usuário clique em um item, eu possa coletar estatísticas de uso do usuário além de servir o usuário do conteúdo solicitado. Estou procurando métodos sobre como capturar essas estatísticas no Redis do Nginx, ou seja, sem atingir o aplicativo em segundo plano.

Por exemplo, suponha que eu tenha várias linhas de tabelas na minha página e cada tabela segure os itens no formato de linha/coluna. Então, para um item em {tabela: 2, linha: 1, coluna: 3} Se o URL real for: www.mysite.com/news/dodi, quero incorporar o URL: www.mysite.com/news /dodi/dia = 29? Tabela = 2 & linha = 1 & coluna = 3. Quando o usuário clica nele, o NGINX atingirá o Redis para buscar o conteúdo e também atualizar as estatísticas apropriadas (aqui pode ser o incremento dia-29, Tabela 2, ...).

Alguma sugestão sobre como eu o faço sem atingir o aplicativo em segundo plano?

Foi útil?

Solução

Para os parâmetros de rastreamento, mantenha esse tipo de trabalho fora do escopo da solicitação de usuários. Não os faça pagar a penalidade de latência pelo rastreamento de estatísticas. CRON Um script que extrai os parâmetros do Access.log e atualiza o redis e/ou o banco de dados.

Em termos de conteúdo de cache, existe um módulo Nginx Redis lançado recentemente que funciona da mesma maneira que o módulo Memcached. Atualmente, obtém e selecionados são implementados. A suposição é que seu aplicativo está preenchendo o cache.

http://wiki.nginx.org/nginx3rdpartymodules#http_redis_module

Amostra nginx.conf:

http
{
 ...
        server {
            location / {
                set $redis_db   "0";
                set $redis_key  "$uri?$args";
                redis_pass      127.0.0.1:6379;
                error_page      404 502 504 = @fallback;
             }

             location @fallback {
                 proxy_pass      backed;
             }
        }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top