Comment stocker les données à utiliser pour tous les clients de mon serveur? (comme les messages d'un chat)Stockage en mémoire Nodejs
Répondre
Le serveur que node.js vous permet de construire, est un serveur d'application, ce qui signifie que l'état est préservé, entre les requêtes, côté serveur. L'extrait suivant illustre ceci:
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/');
Si vous voulez plus de fonctionnalités ont un oeil à redis-node-client
Ou utiliser un mécanisme de stockage de noeud natif (écrit en Node.js)
node-cache package est actuellement le meilleur pour stocker des valeurs clés et il permet synchrone ainsi que le stockage/récupération/suppression asynchrone des clés.
j'ai écrit Bx à cette fin; il vous donne d'un simple cache en mémoire avec:
- stockage valeur clé
- expiration en option sur toutes les données stockées
- Prise en charge des schémas utilisant JSON-schéma
Bien que je suis brancher mon propre dépôt ici, je peux vous assurer que cela fonctionne bien et il a été utilisé dans la production de ma propre entreprise, Onshape depuis plus d'un an sans problèmes. À la fin de la journée, c'est un outil assez simple; pas grand-chose à gâcher ici.
Cependant, si vous stockez des données qui est censé être permanent, vous allez avoir une base de données tels que MongoDB (w/ Mongoose), MySQL, etc. plutôt qu'un cache comme Bx ou Redis.
le repo n'a aucun exemple et le site est indisponible – Tony
- 1. Stockage des écritures MySQL en mémoire
- 2. nodejs (nodejs.org/) expérience/commentaires
- 3. mémoire de stockage de cache
- 4. Nodejs & websockets
- 5. Nodejs streaming
- 6. mootools & nodejs
- 7. Stockage interne android -Dispositif mémoire
- 8. Poignée de main NodeJS WebSocket en panne?
- 9. Pylons et NodeJS/Comet
- 10. Nodejs - Redirect url
- 11. Stockage des données de l'application iphone en mémoire insuffisante
- 12. .Net 4.0 fichiers mappés en mémoire vers RDMS stockage
- 13. nodejs/express testing
- 14. En utilisant nodejs: mongodb find puis ajouter à Array
- 15. NodeJS ne renvoient aucune donnée à jQuery.getJSON
- 16. Mono Continuations - La mémoire ne cesse d'augmenter après le stockage()
- 17. Comment transférer le trafic HTTPS dans nodejs?
- 18. C++: Instance de classe de stockage dans la mémoire allouée
- 19. Alternatives HashMap pour le stockage de données à mémoire efficace
- 20. Stockage en pile à l'appel de fonction
- 21. Installation de NodeJS sur Windows machine?
- 22. Nodejs: require.paths. Restauration des chemins d'origine
- 23. Télécharger le fichier Tar via NodeJS
- 24. Nodejs: Comment intercepter une exception du middleware?
- 25. RESTful MongoDB avec Nodejs exemple nécessaire
- 26. Nodejs - Sortie de flux vers le navigateur
- 27. objets Stockage en séance
- 28. Enregistrement d'un hachage en mémoire
- 29. Comment utiliser Entity Framework 4.0 avec Xml ou le stockage en mémoire (non-SQL)
- 30. Systèmes de stockage en nuage
Cet exemple me montre: le nombre est 0, le nombre 2, le nombre 4, le nombre 6, etc. très très fiable. Personne d'autre ne visite. Hébergé sur nodester.com. Une idée de ce que ça veut dire ?! –
@Thomas David Baker, oui, le navigateur fait une demande supplémentaire pour favicon.ico. J'ai modifié l'extrait pour prendre en charge la dernière version du noeud et enregistrer la méthode de requête et l'URL dans la console. Jetez un coup d'oeil maintenant. Il devrait montrer quelque chose comme 'GET/favicon.ico' entre chaque autre demande. –
Combien d'états seront conservés? Y a-t-il une valeur pour laquelle je peux le définir? – user482594