Node.js刷新session过期时间的实现方法推荐


Posted in Javascript onMay 18, 2016

在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 time
app.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过期时间的实现方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
node.js中的fs.read方法使用说明
Dec 17 Javascript
js进行表单验证实例分析
Feb 10 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
May 07 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
Dec 25 Javascript
jQuery简单实现上下,左右滑动的方法
Jun 01 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
Dec 02 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
Feb 27 Javascript
强大的 Angular 表单验证功能详细介绍
May 23 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
Jan 25 Javascript
JS限制输入框输入的实现代码
Jul 02 Javascript
vue使用微信扫一扫功能的实现代码
Apr 11 Javascript
vue element实现表格合并行数据
Nov 30 Vue.js
JS+Canvas 实现下雨下雪效果
May 18 #Javascript
如何判断Javascript对象是否存在的简单实例
May 18 #Javascript
jquery遍历json对象集合详解
May 18 #Javascript
深入理解JavaScript中的对象复制(Object Clone)
May 18 #Javascript
js验证框架实现代码分享
May 18 #Javascript
在JavaScript中对HTML进行反转义详解
May 18 #Javascript
深入理解JavaScript中的浮点数
May 18 #Javascript
You might like
ThinkPHP采用模块和操作分析
2011/04/18 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
详解php用static方法的原因
2018/09/12 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
常用js脚本
2006/12/03 Javascript
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
javascript如何创建对象
2016/08/29 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
Python的多维空数组赋值方法
2018/04/13 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
基于python实现学生信息管理系统
2019/11/22 Python
Tensorflow累加的实现案例
2020/02/05 Python
django实现后台显示媒体文件
2020/04/07 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
用python进行视频剪辑
2020/11/02 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
招商业务员岗位职责
2013/12/16 职场文书
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
民事申诉状范本
2015/05/20 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS