我假设您使用snippets 之一以正确的方式安装了npm(我使用了最上面的一个)。
Redis
我会使用 redis 作为数据库。一方面,它真的是fast,坚持不懈。您需要安装它,但这真的很简单。
make
Redis-cli
接下来你应该自己玩一下redis。我建议你看看Simon Willison 的这个优秀教程。他和我还建议您使用redis-cli 来感受一下数据库。
Redis 客户端
最后你需要安装一个redis客户端。我建议你使用 mranney 的 node_redis,因为我认为它是最快和最积极开发的客户端。
安装
npm install hiredis redis
简单示例,包含在 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();
});
在数据库中存储会话
express 的作者还创建了一个库来使用 redis 处理您的sessions。
安装:
npm install connect-redis
示例:
var connect = require('connect')
, RedisStore = require('connect-redis');
connect.createServer(
connect.cookieDecoder(),
// 5 minutes
connect.session({ store: new RedisStore({ maxAge: 300000 }) })
);
在数据库中存储消息
我想我会为此使用sorted set。使用ZADD 存储消息并使用ZRANK、ZRANGEBYSCORE 检索它们。
Socket.io
最后,如果你想创建一个简单的聊天,我建议你看看 socket.io。
socket.io 旨在制作实时应用程序
可以在每个浏览器和移动设备上使用
设备,模糊了差异
不同交通工具之间
机制。
我还使用我在stackoverflow 上发布的 socket.io 创建了一个聊天。添加持久性 + 身份验证应该是轻而易举的事。