websocket服务器,存储数据

时间:2012-08-13 18:17:42

标签: javascript html5 node.js websocket socket.io

让我说我做一个websocket服务器聊天(node.js + socket.io)。我如何存储聊天消息,以便当“新”用户加入聊天时,他将看到旧的聊天消息,而不仅仅是聊天时他们发送的聊天消息。

数据是否应存储在服务器中的变量中?类似的东西:

var io = require('socket.io').listen(80);

var saveData = { };

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

对于更复杂的应用程序,例如游戏,它会是一个可行的灵魂吗?

由于

2 个答案:

答案 0 :(得分:2)

如果您确实需要为新用户存储聊天记录,我建议将其存储在RDBMS或NoSQL存储中。如果选择NoSQL,其中一个选项是Apache CouchDB™(数据库使用JSON表示文档,JavaScript表示MapReduce查询,常规HTTP表示API)。这是免费的在线book

答案 1 :(得分:2)

查看redis(redis.io),一个内存数据库(磁盘持久性)。真正快速,您的数据将在服务器重启后持续存在。它也非常适合node.js。