Domanda

Come faccio a memorizzare i dati da utilizzare per tutti i clienti del mio server? (Come i messaggi di una chat)

È stato utile?

Soluzione

Il server che Node.JS permette di costruire, è un application server, il che significa che lo stato è conservato, tra la richiesta, sul lato server. Il seguente frammento illustra questo:

var sys  = require('sys'),
    http = require('http');

var number = 0;

http.createServer(function (req, res) {
        console.log(req.method, req.url);

        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write('<h1>Number is: ' + number + '</h1>');
        res.end();

        number++;

}).listen(8000);

sys.puts('Server running at http://127.0.0.1:8000/');

Altri suggerimenti

Se vuoi più funzionalità di dare un'occhiata al Redis-node-client

In alternativa, utilizzare un meccanismo di archiviazione nodo nativo (scritto in node.js)

http://github.com/felixge/node-dirty

node-cache pacchetto è attualmente il migliore per archivio valore di chiave e permette sincrono nonché deposito asincrone / recupero / cancellazione di chiavi.

collegamento NPM

Bx a tale scopo; ti dà una semplice cache in memoria con:

  • archiviazione chiave-valore
  • scadenza opzionale su tutti i dati memorizzati
  • Il supporto per gli schemi che utilizzano JSON-schema

Anche se io sto collegando il mio repository qui, io posso assicurare che funziona bene ed è stato utilizzato in produzione presso la mia società, Onshape per oltre un anno senza problemi. Alla fine della giornata è uno strumento piuttosto semplice; non molto da rovinare qui.

Tuttavia, se si sta memorizzazione di dati che è destinata ad essere permanente che si sta andando a voler un database come MongoDB (w / Mongoose) , MySQL , ecc piuttosto che una cache come Bx o < a href = "https://www.npmjs.com/package/redis" rel = "nofollow"> Redis .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top