Soy nuevo en node.js pero estoy emocionado de probarlo. Estoy usando Express como marco web y Jade como motor de plantillas. Ambos fueron fáciles de configurar siguiendo este tutorial de Node Camp .
Sin embargo, el único problema que encuentro es que no puedo encontrar un tutorial simple para configurar una base de datos . Estoy intentando crear una aplicación de chat básica (sesión de tienda y mensaje).
¿Alguien sabe de un buen tutorial?
Esta otra publicación de SO habla sobre dbs para usar, pero como esto es muy diferente del mundo de Django / MySQL en el que he estado, quiero asegurarme de que entiendo lo que está sucediendo.
¡Gracias!
javascript
database
node.js
Emile
fuente
fuente
Respuestas:
Supongo que tiene npm instalado de la manera correcta usando uno de estos fragmentos (usé el de arriba).
Redis
Usaría redis como base de datos. Por un lado, es muy rápido y persistente. Necesitas instalarlo, pero eso es realmente fácil.
Redis-cli
A continuación, deberías jugar con redis tú mismo. Te aconsejo que consultes este excelente tutorial de Simon Willison . Él y yo también te aconsejamos que juegues con el
redis-cli
para tener una idea de la base de datos.Cliente de Redis
Finalmente necesitas instalar un cliente redis. Le aconsejaría que utilice node_redis de mranney porque creo que es el cliente más rápido y desarrollado de forma más activa.
Instalación
Ejemplo simple, incluido como example.js:
var redis = require("redis"), client = redis.createClient(); client.on("error", function (err) { console.log("Error " + err); }); client.set("string key", "string val", redis.print); client.hset("hash key", "hashtest 1", "some value", redis.print); client.hset(["hash key", "hashtest 2", "some other value"], redis.print); client.hkeys("hash key", function (err, replies) { console.log(replies.length + " replies:"); replies.forEach(function (reply, i) { console.log(" " + i + ": " + reply); }); client.quit(); });
Almacenar sesiones en la base de datos
Además, el autor de express ha creado una biblioteca para manejar sus sesiones usando redis.
Instalación:
Ejemplo:
var connect = require('connect') , RedisStore = require('connect-redis'); connect.createServer( connect.cookieDecoder(), // 5 minutes connect.session({ store: new RedisStore({ maxAge: 300000 }) }) );
Almacenar mensajes en la base de datos
Creo que usaría un conjunto ordenado para esto. Almacenar los mensajes usando
ZADD
y recuperarlos usandoZRANK
,ZRANGEBYSCORE
.Socket.io
Finalmente, si está intentando crear un chat simple, le aconsejo que eche un vistazo a socket.io.
También creé un chat usando socket.io que publiqué en stackoverflow . Agregar persistencia + autenticación debería ser muy sencillo.
fuente
Autenticación rápida usando Redis para el almacenamiento de sesiones y Couchdb para la base de datos usando coffeescript.
Consulte esta esencia: https://gist.github.com/652819
Utilizo esta plantilla para la mayoría de mis proyectos. También puede implementar una versión similar de mongodb usando:
node-mongodb-native por christkv: https://github.com/christkv/node-mongodb-native , o
mangosta: https://github.com/learnboost/mongoose , o
mongous de amark: https://github.com/amark/mongous
fuente
Además del tutorial de NodeCamp que mencionas, hay otro tutorial de NodeCamp dado por Matt Ranney, el autor antes mencionado de la biblioteca de nodos de redis. Se profundiza un poquito más.
fuente
Sé que esta es una publicación antigua, pero en caso de que alguien más se tope con ella, creé un tutorial usando la mayoría de los componentes del OP, especialmente la conexión a la base de datos. Tiene cierta complejidad adicional con el uso de Backbone.js, ¡pero todo es muy divertido!
http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/
fuente