django-newcache

Backend de cache memcached melhorado para Django
Baixe Agora

django-newcache Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • BSD License
  • Preço:
  • FREE
  • Nome do editor:
  • Eric Florenzano
  • Site do editor:
  • http://code.google.com/u/floguy/

django-newcache Tag


django-newcache Descrição

Backend de cache memcached melhorado para Django Django-newcache é um backend de cache memcached melhorado para Django. Ele fornece duas grandes vantagens sobre o backend de cache integrado de Django: * suporta pylibmc. * Permite que uma função seja executada em cada tecla antes de ser enviada para memcached.it também tem alguns padrões bonitos. Por padrão, a função que é executada em cada chave é aquela que hashes, versões e saborra a chave. Mais sobre isso mais tarde. Como instalar a maneira mais simples é apenas configurá-lo como backend de cache em suas configurações.py, como assim: cache_backend = 'newcache: //127.0.0.1: 11211 /? Binário = True'note que nós' Ve passou um argumento adicional, binário, para o backend. Isso ocorre porque o Pylibmc suporta o uso de modo binário para falar com memcached. Este é um parâmetro completamente opcional e pode ser omitido com segurança para usar o modo de texto antigo. É ignorado ao usar python-memcached.default comportamentoarlier, dissemos que, por padrão, hashes, versões e sabores de cada chave. O que isto significa? Vamos passar por cada item em detalhe.Keys no memcached vêm com muitas restrições, tanto em seu comprimento quanto em seu conteúdo. Praticamente falando, isso significa que você não pode colocar espaços nas suas chaves, e eles não podem ser muito longos. Uma solução simples para isso é criar um hash MD5 de qualquer chave que você quiser e use o hash como sua chave. Isso é o que fazemos em newcache. Ele não só permite que as chaves longas, mas também nos permite colocar espaços ou outros personagens em nossa chave também. Na pimenta é necessário limpar o cache inteiro. Podemos fazer isso usando os mecanismos de descarga do memcached, mas às vezes um cache é compartilhado por muitas coisas, em vez de apenas um aplicativo da Web. É uma pena ter tudo perder seu cache fresco apenas porque um aplicativo da Web precisava limpar seu cache. Para isso, introduzimos uma técnica simples chamada versão. Um número de versão é adicionado a cada tecla de cache e, quando esta versão é incrementada, todas as teclas de cache antigas se tornarão inválidas porque elas têm uma versão incorreta. Este é exposto como uma nova configuração, cache_version e padroniza-se para 1.Finalmente, Descobrimos que, à medida que dividimos nosso site em desenvolvimento, encenação e produção, não queríamos que eles compartilhassem o mesmo cache. Mas também não queríamos girar uma nova instância memcached para cada um. Então surgimos com a ideia de aromatizar o cache. O conceito é simples - adicione um cenário de sabor e faça algo como 'dev', 'prod' ou 'test'. Com Newcache, esta cadeia de sabor será adicionada a cada chave, garantindo que não haja colisões.Concretly, é o que acontece: # cache_version = 2 # sabor = 'stating'cache.get (' Games ') # ... Na verdade, ligue ... Cache.Get ('Stating-2-9CFA7AEFC61936B70AEFC61936B70AEEC6729329EEDA') Alterar a defensação do acima é simplesmente o padrão, você pode fornecer sua própria função calável a ser executada em cada tecla, fornecendo a configuração cache_key_module. Deve fornecer uma função get_key que tome qualquer instância de baseestrando e produza um str. Requisitos: · Pitão · Django.


django-newcache Software Relacionado