Emi*_*ile 82 javascript database node.js
我是node.js的新手,但我很高兴尝试一下.我使用Express作为Web框架,并使用Jade作为模板引擎.根据Node Camp的本教程,两者都很容易设置.
然而,我发现的一个问题是我找不到一个简单的教程来设置数据库.我正在尝试构建一个基本的聊天应用程序(存储会话和消息).
有谁知道一个很好的教程?
这个其他的SO帖子谈论了dbs的使用 - 但是因为这与我所经历的Django/MySQL世界非常不同,我想确保我理解发生了什么.
谢谢!
Alf*_*red 89
我假设您使用其中一个片段(我使用了顶部片段)安装了正确的npm方式.
我会使用redis作为数据库.首先,它非常快,持久.你需要安装它,但这很容易.
make
Run Code Online (Sandbox Code Playgroud)
接下来你应该自己玩redis.我建议你看看西蒙威利森这本优秀的教程.他和我也建议你只是玩这个redis-cli以获得数据库的感觉.
最后,您需要安装一个redis客户端.我建议你使用mranney的node_redis,因为我认为它是最快且最活跃的客户端.
安装
npm install hiredis redis
Run Code Online (Sandbox Code Playgroud)
简单示例,包含在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();
});
Run Code Online (Sandbox Code Playgroud)
Express的作者也创建了一个库来使用redis 来处理你的会话.
安装:
npm install connect-redis
Run Code Online (Sandbox Code Playgroud)
例:
var connect = require('connect')
, RedisStore = require('connect-redis');
connect.createServer(
connect.cookieDecoder(),
// 5 minutes
connect.session({ store: new RedisStore({ maxAge: 300000 }) })
);
Run Code Online (Sandbox Code Playgroud)
我想我会使用一个有序的集合.使用存储消息ZADD,并使用检索它们ZRANK,ZRANGEBYSCORE.
最后,如果您正在尝试创建一个简单的聊天,我建议您查看socket.io.
socket.io旨在使每个浏览器和移动设备中的实时应用程序成为可能,模糊了不同传输机制之间的差异.
我还使用socket.io创建了一个聊天,我在stackoverflow上发布了这个聊天.添加持久性+身份验证应该是轻而易举的.
| 归档时间: |
|
| 查看次数: |
22356 次 |
| 最近记录: |