Armazenando em cache as consultas ao banco de dados com o Node.js

10

Existe uma implementação de cache de consulta de banco de dados (mysql) escrita exclusivamente em Node.js?

Estou escrevendo um aplicativo da Web do Node e estava planejando o armazenamento em cache de consultas com o memcached, mas, considerando isso, percebi que provavelmente é possível fazer o cache por meio de uma camada separada do Node.js

Para explicar:

Você pode consultar o banco de dados por meio de um servidor de nós em uma porta separada, retornando dados da memória onde estiverem disponíveis e carregando-os na memória onde eles não estiverem.

Alguém sabe como o Node.js se compara ao memcache em termos de velocidade de retorno em matrizes de hash? Isso é um sonho ou algo que eu deveria olhar?

    
por thelastshadow 09.02.2012 в 17:17
fonte

3 respostas

5

Eu fui em frente e escrevi uma solução de cache para uso particular que armazenava os dados em um objeto compartilhado. Isso não era realmente o cache de consultas, ele armazena resultados específicos em vez de resultados sql crus ordenados por hashes, mas mantinha o que eu precisava na memória e era ridiculamente fácil de escrever.

Desde que eu fiz essa pergunta originalmente, várias soluções de armazenamento em cache do nó surgiram:

  1. ptarjan / node-cache
  2. tcs-de / nodecache
  3. vxtindia / node-cache
  4. mape / node-caching

Eu não usei nada disso, mas um deles pode ser útil para outra pessoa.

Agora também há redis e memcached clientes para o nó.

    
por thelastshadow 09.05.2013 / 15:16
fonte
1

Você pode definitivamente implementar algo como isso no nó, e pode ser um projeto interessante, mas depende das suas necessidades. Se você está apenas fazendo isso para um projeto de hobby, por todos os meios, crie uma camada de cache no nó e experimente. Deixe-nos saber como vai!

Se isso é para uso em produção, então eu recomendaria manter as camadas de cache estabelecidas (memcached, redis, etc), pois elas já passaram por todas as dificuldades associadas à construção de um sistema de cache escalável.

    
por Timothy Strimple 09.02.2012 / 23:32
fonte
1

Eu escrevi um módulo node.js que executa o cache de consulta do MySQL usando o memcached.

O módulo é chamado Memento e está disponível no link

Aproveite!

    
por user3280601 11.07.2015 / 18:29
fonte