Node.js刷新session過(guò)期時(shí)間的實(shí)現(xiàn)方法推薦
在Node.js中,我們通常使用express-session這個(gè)包來(lái)使用和管理session,保存服務(wù)端和客戶端瀏覽器之間的會(huì)話狀態(tài)。那如何才能實(shí)現(xiàn)當(dāng)用戶刷新當(dāng)前頁(yè)面或者點(diǎn)擊頁(yè)面上的按鈕時(shí)重新刷新session的過(guò)期時(shí)間呢?類似于ASP.NET中session會(huì)話狀態(tài),只要在一定的時(shí)間內(nèi)頁(yè)面一直保持活動(dòng)狀態(tài),session就不會(huì)過(guò)期。通過(guò)下面的代碼可以實(shí)現(xiàn)這個(gè)功能,我們?cè)贜ode.js的代碼中加入下面的中間件:
// use this middleware to reset cookie expiration time // when user hit page every time app.use(function(req, res, next){ req.session._garbage = Date(); req.session.touch(); next(); });
這樣,每次當(dāng)有請(qǐng)求過(guò)來(lái)時(shí),該中間件都會(huì)重新修改session的過(guò)期時(shí)間,從而達(dá)到預(yù)期的效果。
然后,在代碼中加入對(duì)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的存儲(chǔ)方式,有關(guān)如何使用memcached可以參考Github上的這個(gè)地址https://github.com/balor/connect-memcached
當(dāng)然,你也可以使用其它的session存儲(chǔ)方式,例如memoryStore,redis,mongoDB等等,使用方法都大同小異。
以上這篇Node.js刷新session過(guò)期時(shí)間的實(shí)現(xiàn)方法推薦就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
node.js中的fs.realpath方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.realpath方法使用說(shuō)明,本文介紹了fs.realpath的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12Node.js的Web模板引擎ejs的入門(mén)使用教程
ejs是Node世界的開(kāi)源模板引擎中比較有人氣的一個(gè),而且并不只是在Express框架中才可以使用,今天為大家?guī)?lái)Node.js的Web模板引擎ejs的入門(mén)學(xué)習(xí)教程,其中側(cè)重于ejs的layout頁(yè)面布局放面2016-06-06詳解Nodejs 通過(guò) fs.createWriteStream 保存文件
本篇文章主要介紹了Nodejs 通過(guò) fs.createWriteStream 保存文件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10Node.js巧妙實(shí)現(xiàn)Web應(yīng)用代碼熱更新
本文給大家講解的是Node.js的代碼熱更新的問(wèn)題,其主要實(shí)現(xiàn)原理 是怎么對(duì) module 對(duì)象做處理,也就是手工監(jiān)聽(tīng)文件修改, 然后清楚模塊緩存, 重新掛載模塊,思路清晰考慮細(xì)致, 雖然有點(diǎn)冗余代碼,但還是推薦給大家2015-10-10express + jwt + postMan驗(yàn)證實(shí)現(xiàn)持久化登錄
這篇文章主要介紹了express + jwt + postMan驗(yàn)證實(shí)現(xiàn)持久化登錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06NodeJS 將文件夾按照存放路徑變成一個(gè)對(duì)應(yīng)的JSON的方法
這篇文章主要介紹了NodeJS 將文件夾按照存放路徑變成一個(gè)對(duì)應(yīng)的JSON的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10三分鐘教你用Node做一個(gè)微信哄女友(基友)神器(面向小白)
這篇文章主要介紹了三步教你用Node做一個(gè)微信哄女友(基友)神器(面向小白),用node和wechaty微信網(wǎng)頁(yè)接口開(kāi)發(fā)的一款小工具,可以定時(shí)給女朋友發(fā)每天的天氣情況,天氣提醒,每日一句。通過(guò)配置機(jī)器人api后還可以實(shí)現(xiàn)微信機(jī)器人自動(dòng)陪女朋友聊天。,需要的朋友可以參考下2019-06-06