websocket服务器,存储数据

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

数据应该存储在服务器的variables中吗? 就像是:

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); }); }); 

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

谢谢

如果你真的需要为新用户存储聊天logging,我build议将它们存储在RDBMS或NoSQL存储中。 如果您selectNoSQL,则选项之一是Apache CouchDB™ (对文档使用JSON的数据库,对MapReduce查询使用JavaScript的数据库以及对API使用常规HTTP)。 这是免费的在线书籍 。

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