Pergunta

Ouvi falar do Redis-Cache, mas como exatamente funciona? É usado como uma camada entre o Django e meu RDBMS, armazenando em cache as consultas RDBMs de alguma forma?

Ou deve ser usado diretamente como banco de dados? O que duvido, desde que a página do Github não cobre nenhum detalhe de login, sem configuração. Apenas diz para você definir uma propriedade Config.

Foi útil?

Solução

Este módulo Python para Redis tem um exemplo de uso claro no ReadMe: http://github.com/andymccurdy/redis-py

Redis foi projetado para ser um cache de RAM. Ele suporta obter e conjunto de chaves básicas, além do armazenamento de coleções como dicionários. Você pode cache as consultas RDBMs armazenando sua saída no Redis. O objetivo seria acelerar seu site de Django. Não comece a usar o Redis ou qualquer outro cache até precisar da velocidade - não otimize prematuramente.

Outras dicas

Só porque o Redis armazena as coisas na memória não significa que ela deve ser um cache. Eu vi pessoas usando -o como uma loja persistente para dados.

Que pode ser usado como cache é uma dica de que é útil como um armazenamento de alto desempenho. Se o seu sistema Redis diminuir, você pode perder dados que não foram gravados novamente no disco. Existem algumas maneiras de mitigar esses perigos, por exemplo, uma réplica de Standby Hot. Se seus dados forem 'missionários-críticos', como se você administra um banco ou uma loja, o Redis pode não ser a melhor escolha para você. Mas se você escrever um jogo de alto tráfego com dados ao vivo persistente ou algumas coisas de interação social e gerenciar a probabilidade de perda de dados bastante aceitável, a Redis pode valer a pena dar uma olhada.

De qualquer forma, o ponto permanece, sim, o Redis pode ser usado como um banco de dados.

Redis é basicamente uma loja KV 'na memória' com muitos sinos e assobios. É extremamente flexível. Você pode usá -lo como uma loja temporária, como um cache ou uma loja permanente, como um banco de dados (com advertências mencionadas em outras respostas).

Quando combinado com o Django, o melhor/mais comum de uso mais comum para Redis provavelmente é para armazenar em cache 'respostas' e sessões.

Há um back -end aqui https://github.com/sebleier/django-redis-cache/ E excelente documentação nos documentos do Django aqui: https://docs.djangoproject.com/en/1.3/topics/cache/ .

Eu comecei recentemente a usar https://github.com/erussell/django-redis-status Para monitorar meu cache - funciona um charme. (Configure o MaxMemory no Redis ou os resultados não são muito úteis).

Você também pode usar o Redis como uma fila para tarefas distribuídas no seu aplicativo Django. Você pode usá -lo como um corretor de mensagens para Salsão ou Python Rq.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top