Node.js重新整理session到期時間的實現方法推薦,node.jssession
在Node.js中,我們通常使用express-session這個包來使用和管理session,儲存服務端和用戶端瀏覽器之間的工作階段狀態。那如何才能實現當使用者重新整理當前頁面或者點擊頁面上的按鈕時重新重新整理session的到期時間呢?類似於ASP.NET中session工作階段狀態,只要在一定的時間內頁面一直保持活動狀態,session就不會到期。通過下面的代碼可以實現這個功能,我們在Node.js的代碼中加入下面的中介軟體:
// use this middleware to reset cookie expiration time// when user hit page every timeapp.use(function(req, res, next){ req.session._garbage = Date(); req.session.touch(); next();});
這樣,每次當有請求過來時,該中介軟體都會重新修改session的到期時間,從而達到預期的效果。
然後,在代碼中加入對session的使用:
app.use(session({ secret: 'test', resave: false, saveUninitialized: true, cookie:{ maxAge: 1000*60*60 // default session expiration is set to 1 hour }, store: new MemcachedStore({ hosts: ['127.0.0.1:9000'], prefix: 'test_' })}));
上面的session使用了memcached作為session的儲存方式,有關如何使用memcached可以參考Github上的這個地址https://github.com/balor/connect-memcached
當然,你也可以使用其它的session儲存方式,例如memoryStore,redis,mongoDB等等,使用方法都大同小異。
以上這篇Node.js重新整理session到期時間的實現方法推薦就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。