2010-02-08 14 views

Respuesta

19

El servidor que node.js le permite compilar, es un servidor de aplicaciones, lo que significa que el estado se conserva, entre las solicitudes, 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/'); 
+0

Este ejemplo me muestra: el número es 0, el número es 2, el número es 4, el número es 6, etc. es muy confiable. Nadie más está de visita. Alojado en nodester.com. ¿Alguna idea de lo que eso significa? –

+9

@Thomas David Baker, sí, el navegador hace una solicitud adicional para favicon.ico. Modifiqué el fragmento para admitir la última versión del nodo y para registrar el método de solicitud y la URL en la consola. Echa un vistazo ahora. Debería mostrar algo como 'GET/favicon.ico' entre cada otra solicitud. –

+0

¿Cuántos estados se conservarán? ¿Hay algún valor para el que pueda establecerlo? – user482594

2

node-cache es actualmente el mejor paquete para el almacenamiento de valores clave y permite el almacenamiento/recuperación/eliminación síncrona y asincrónica de claves.

npm link

-2

escribí Bx para este propósito; que le da un simple caché en memoria con:

  • de almacenamiento de valor-clave
  • de caducidad opcional de los datos almacenados
  • Soporte para esquemas utilizando JSON-esquema

Aunque estoy Conectando mi propio repositorio aquí, puedo asegurarle que funciona bien y ha sido utilizado en producción en mi propia compañía, Onshape durante 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 usted está almacenando datos que está destinado a ser permanente vas a querer una base de datos como MongoDB (w/ Mongoose), MySQL, etc en lugar de una memoria caché como Bx o Redis.

+0

el repositorio no tiene ningún ejemplo y el sitio no está disponible – Tony

Cuestiones relacionadas