2012-02-09 12 views
9

Esiste un'implementazione del caching della query del database (mysql) scritto esclusivamente in Node.js?Memorizzazione nella cache delle query del database con Node.js

Sto scrivendo un'applicazione nodo Web e stava progettando sulle query caching con memcached, ma pur considerando questo mi sono reso conto che è probabilmente possibile fare il caching attraverso uno strato Node.js separata invece

a spiegare:

È possibile interrogare il database tramite un server nodo su una porta separata, restituendo i dati dalla memoria, se disponibili, e caricandoli in memoria, dove non lo è.

Qualcuno sa come Node.js paragonerebbe a memcache in termini di velocità di ritorno su array hash? È questo un pipa-sogno o qualcosa che dovrei guardare?

risposta

4

Sono andato avanti e ho scritto una soluzione di caching per uso privato che memorizzava i dati in un oggetto condiviso. Questo non era realmente il caching delle query, memorizza risultati specifici invece dei risultati raw sql ordinati dagli hash, ma manteneva quello che mi serviva in memoria ed era incredibilmente facile da scrivere.

Da quando ho inizialmente fatto questa domanda una serie di soluzioni di caching dei nodi hanno emmerged:

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

Non ho usato alcun di questi, ma uno potrebbe essere utile t o qualcun altro

Ora ci sono anche i client redis e memcached per il nodo.

1

È possibile implementare qualcosa di simile nel nodo e potrebbe essere un progetto interessante, ma dipende dalle esigenze dell'utente. Se stai solo facendo questo per un progetto per hobby, con tutti i mezzi, crea un livello di cache nel nodo e provalo. Fateci sapere come va!

Se questo è per uso di produzione, quindi consiglierei di attenersi ai livelli di memorizzazione nella cache stabiliti (memcached, redis, ecc.) Poiché hanno già attraversato tutti i crescenti problemi associati alla creazione di un sistema di caching scalabile.

+0

Questo è per la produzione, ma possiamo ancora scendere lungo il percorso di utilizzo, certamente per cominciare, in quanto l'applicazione stessa dovrà implementare la maggior parte di ciò che sarebbe richiesto comunque. Ti farò sicuramente sapere come facciamo. – thelastshadow

Problemi correlati