Frage

Wie speichere ich Daten, die für alle Clients auf meinem Server verwendet werden sollen? (wie die Nachrichten eines Chats)

War es hilfreich?

Lösung

Der Server, der node.js Sie ermöglichen, zu erstellen, ist ein Anwendungsserver, was bedeutet, dass der Status zwischen der Anforderung auf der Serverseite erhalten bleibt. Das folgende Ausschnitt zeigt dies:

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/');

Andere Tipps

Wenn Sie mehr Funktionen möchten, sehen Sie sich einen Blick auf Redis-Node-Client

Oder verwenden Sie einen nativen Knotenspeichermechanismus (geschrieben in node.js)

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

Node-Cache Das Paket ist derzeit das Beste für den Key Value Store und ermöglicht sowohl synchrone als auch asynchronisierte Speicher/Abruf/Löschung von Schlüssel.

NPM Link

Ich schrieb BX für diesen Zweck; Es gibt Ihnen einen einfachen In-Memory-Cache mit:

  • Schlüsselwertspeicher
  • Optionaler Ablauf für gespeicherte Daten
  • Unterstützung für Schemata mit JSON-Schema

Obwohl ich hier mein eigenes Repository ansteckte, kann ich Ihnen versichern, dass es gut funktioniert und es in der Produktion in meiner eigenen Firma verwendet wurde. Onshape für über ein Jahr ohne Probleme. Am Ende des Tages ist es ein ziemlich einfaches Werkzeug. Hier nicht viel zu tun.

Wenn Sie jedoch Daten speichern, die dauerhaft sein sollen, möchten Sie eine Datenbank wie z. B. MongoDB (mit Mongoose), Mysql, usw. eher als ein Cache wie BX oder Redis.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top