NodeJs en la memoria de almacenamiento
Pregunta
¿Cómo almaceno los datos para usar para todos los clientes en mi servidor? (como los mensajes de un chat)
Solución
El servidor que node.js le permite construir, es un servidor de aplicaciones, lo que significa que el estado se conserva, entre solicitud, en el lado del servidor. El siguiente fragmento demuestra esto:
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/');
Otros consejos
Si quieres más características, eche un vistazo a redis-nodo-cliente
O utilice un mecanismo de almacenamiento de nodos nativo (escrito en node.js)
cache de nodo El paquete es actualmente el mejor para la tienda de valor clave y permite el almacenamiento/recuperación/eliminación sincrónicos, así como de asíncrono, la eliminación/eliminación de claves.
escribí Bx para este propósito; Te da un caché simple en memoria con:
- Almacenamiento de valores clave
- Vestimato opcional en cualquier datos almacenados
- Soporte para esquemas usando JSON-SCHEMA
Aunque estoy conectando mi propio repositorio aquí, puedo asegurarle que funciona bien y que se ha utilizado en producción en mi propia empresa, Onda por más de un año sin problemas. Al final del día, es una herramienta bastante simple; No hay mucho que estropear aquí.
Sin embargo, si está almacenando datos que deben ser permanentes, querrá una base de datos como MongoDB (con mangosta), Mysql, etc. en lugar de un caché como BX o Rehacer.