Question

Comment puis-je stocker des données à utiliser pour tous les clients de mon serveur? (Comme les messages d'une conversation)

Était-ce utile?

La solution

Le serveur qui Node.js permet de construire, est un serveur d'application, ce qui signifie que l'état est conservé, entre la demande, du côté du 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/');

Autres conseils

Si vous voulez plus de fonctionnalités ont un regard sur Redis-noeud-client

Ou utiliser un mécanisme de stockage de noeud natif (écrit en Node.js)

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

nœud-cache package est actuellement le meilleur pour le magasin de valeur clé et permet synchrone ainsi que le stockage async / récupération / suppression de clés.

lien NPM

J'ai écrit Bx à cet effet; 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 brancher mon propre dépôt ici, je peux vous assurer qu'il fonctionne bien et il a été utilisé dans la production à ma propre entreprise, Onshape depuis plus d'un an sans problèmes. A la fin de la journée, il 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 que d'un cache comme Bx ou < a href = "https://www.npmjs.com/package/redis" rel = "nofollow"> Redis .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top