我創建應用程序,使用nodejs(0.8.15),表達(> 3.0)框架,socket.io和mongodb註冊用戶。nodejs:會話存儲在哪裏?什麼是連接mongo?
1)每個人都知道使用socket.io創建簡單的聊天很簡單,沒有mongodb(或其他)。那麼,在這種情況下存儲消息?在會議?
2)第二個問題是非常重要我
我不明白:爲什麼MongoStore那裏的會議?我讀到它是「連接會話中間件/連接SessionStorage」。據我所知會話會在用戶離開網站時破壞。那麼爲什麼人們存儲它並使用require('connect-mongo')
??
var config = require('../config'),
express = require('express'),
MongoStore = require('connect-mongo'),
server = express.createServer();
server.configure(function() {
server.use(express.logger());
server.use(express.methodOverride());
server.use(express.static(config.staticPath));
server.use(express.bodyParser());
server.use(express.cookieParser());
server.use(express.session({
store: new MongoStore({
db: config.db
}),
secret: config.salt
}));
});
我剛剛找到的代碼。它似乎是快遞2.x
3)connect-mongo
和connect-mongodb
libs有什麼區別? https://github.com/masylum/connect-mongodb
https://github.com/kcbanner/connect-mongo
4)做我必須做MongoStore餅乾和插座?
謝謝!
使用2,會話cookie通常會在用戶關閉瀏覽器時被銷燬。還有其他有效的原因。 A.當會話數量變大時默認內存存儲空間不足,B.獨立於應用程序的會話存儲空間便於多應用服務器部署。 – numbers1311407
謝謝你的回答。對於2):如何知道會話何時會被銷燬?多少小時/天?但WHERE存儲此會話?在我的nodejs服務器?或在用戶瀏覽器?順便說一句,我認爲一個籃子的例子可以用簡單的cookies來實現,就這些。 – sirjay
@ numbers1311407我同意,當用戶關閉瀏覽器時,它們通常會被銷燬。至於性能:當活動很大時,那麼一臺數據庫服務器顯然不是高性能的。無論如何你必須擴展。至於與應用程序無關的會話存儲,那麼數據庫是獨立於應用程序的,不是嗎? – freakish