我是 node.js 的新手,但很高兴尝试一下。我正在使用 Express作为 Web 框架,以及 Jade作为模板引擎。两者都很容易在 this tutorial 之后进行设置来自 Node Camp .
但是我发现的一个问题是我找不到设置数据库的简单教程。我正在尝试构建一个基本的聊天应用程序(存储 session 和消息)。
有谁知道好的教程吗?
这另一个 SO post谈到要使用的 dbs——但由于这与我所经历的 Django/MySQL 世界非常不同,我想确保我了解正在发生的事情。
谢谢!
最佳答案
我假设你有 npm使用其中一种安装正确的方法 snippets (我用的是最上面的)。
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();
});
在数据库中存储 session
express 的作者还创建了一个库来处理您的 sessions使用redis。
安装:
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 aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms.
我还使用我在 stackoverflow 上发布的 socket.io 创建了一个聊天。 .添加持久性 + 身份验证应该是轻而易举的事。
关于javascript - 入门 : Setup Database for Node. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4542694/