node中session的管理


請看這個博客:   http://spartan1.iteye.com/blog/1729148

我自己的理解

session俗稱會話。

第一次訪問服務器的時候由服務器創建,相當於一個cookie(就是),key為sessionid之類的名字。

每次http請求的時候,會取出來與數據庫中保存的session列表,對比找出相同的那個,然后找出這個req.session的user或者愛好之類的屬性的信息。

Session 對象存儲特定用戶會話所需的信息。這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。

當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄后,服務器將終止該會話。

session有自己的設置方式和銷毀的方式,一般情況下connect-redis(session)會幫助我們管理,這個我們不需要關心。

如果你還不理解:請查看這篇博客:http://ourjs.com/detail/54b72644232227083e00000a

參數的設置:

miss lei的項目中:

var session = require('express-session');

var RedisStore = require('connect-redis')(session);

store: new RedisStore(conf.SESSION_REDIS),

SESSION_REDIS:{
port: 6379,
//port: 6379,
//host: '127.0.0.1'
host: '10.150.160.136'
},

只給了數據庫的ip和端口。

而在miss shen的項目中:

var session = require('express-session');
var RedisStore = require('connect-redis')(session);

options.store = new RedisStore( {retry_max_delay: 5000, max_attempts: 3} );

************************************
************************************

當然了可以放redis中,也可以放mongo中,我們放在redis中的比較多。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM