Wie speichere ich Daten, die für alle Clients auf meinem Server verwendet werden sollen? (wie die Nachrichten eines Chats)Nodejs In-Memory-Speicher
Antwort
Der Server, den Sie mit node.js erstellen können, ist ein Anwendungsserver, was bedeutet, dass der Zustand zwischen der Anforderung auf der Serverseite erhalten bleibt. Der 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/');
Wenn Sie mehr Funktionen haben einen Blick wollen bei redis-node-client
oder einen nativen Knoten Speichermechanismus (geschrieben in node.js) verwenden
node-cache Paket ist derzeit das beste für Schlüsselwert speichern und es ermöglicht synchrone sowie asynchrone Speicherung/Abruf/Löschen von Schlüsseln.
Ich schrieb Bx zu diesem Zweck; es gibt Ihnen eine einfache In-Memory-Cache mit:
- Key-Wertspeicher
- Optional Ablauf auf allen gespeicherten Daten
- Unterstützung für Schemata JSON-Schema
Obwohl ich bin mit Ich kann Ihnen versichern, dass es gut funktioniert und seit über einem Jahr ohne Probleme in der Produktion in meiner eigenen Firma, Onshape, verwendet wird. Am Ende des Tages ist es ein ziemlich einfaches Werkzeug; nicht viel zu vermasseln.
Wenn Sie jedoch Daten sind zu speichern, die auf Dauer angelegt ist Sie eine Datenbank wie MongoDB (w/ Mongoose) wollen gehen, MySQL usw. eher als ein Cache wie Bx oder Redis.
das Repo hat keine Beispiele und die Website ist nicht verfügbar – Tony
- 1. NodeJS: Kineticjs in NodeJS
- 2. Nodejs-Bibliothek ohne Nodejs
- 3. Nodejs Streaming
- 4. mootools & nodejs
- 5. Nodejs & websockets
- 6. NodeJS Datenaustausch
- 7. NodeJS 'DEPTH_ZERO_SELF_SIGNED_CERT'
- 8. NodeJS - Schulungsmaterial
- 9. Polymorphismus nodeJS
- 10. NodeJs & Express
- 11. NodeJS Modulization
- 12. NodeJS Passport
- 13. nodejs: Wie C++ DLL-Funktion durch Nodejs aufrufen?
- 14. Assert Modul in Nodejs?
- 15. nodejs Datei laden
- 16. nodeJs callbacks einfaches beispiel
- 17. RabbitMQ mit nodejs
- 18. NodeJS url mit Hash-
- 19. NodeJS, Async forEachSeries Ausführungsreihenfolge
- 20. NodeJS - Fehlergeheimnis erforderlich
- 21. Mit NodeJS mit Typoskript
- 22. NodeJS Anfrage per Knopfdruck
- 23. GCM Push Notification NodeJS
- 24. NodeJS horizontale Skalierung
- 25. window.performance.now() entspricht in Nodejs?
- 26. NodeJS Socket.io Variable undefined
- 27. Sequentiell Q.alle verspricht nodejs
- 28. NodeJS Dateiupload mit Multer
- 29. NodeJS schreiben Datei häufig
- 30. Jade-Ausgabe auf nodejs
Dieses Beispiel zeigt mir: Nummer ist 0, Nummer ist 2, Nummer ist 4, Nummer ist 6, usw. sehr, sehr zuverlässig. Niemand sonst besucht. Gehostet auf nodster.com. Irgendeine Idee was das bedeutet ?! –
@Thomas David Baker, ja, der Browser macht eine zusätzliche Anfrage für favicon.ico. Ich habe das Snippet modifiziert, um die neueste Version des Knotens zu unterstützen und die Anfrage-Methode und die URL in der Konsole zu protokollieren. Sieh es dir jetzt an. Es sollte etwas wie "GET/favicon.ico" zwischen jeder anderen Anfrage zeigen. –
Wie viele Staaten werden erhalten? Gibt es einen Wert, den ich einstellen kann? – user482594