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 相关文章推荐
Javascript常用小技巧汇总
Jun 24 Javascript
Bootstrap下拉菜单效果实例代码分享
Jun 30 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
Jul 04 Javascript
jQuery选择器总结之常用元素查找方法
Aug 04 Javascript
AngularJS中transclude用法详解
Nov 03 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
Jun 13 Javascript
简单实现js进度条加载效果
Mar 25 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 Javascript
JavaScript onclick事件使用方法详解
May 15 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 Javascript
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
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
JavaScript For Beginners(转载)
2007/01/05 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
QML实现圆环颜色选择器
2019/09/25 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
Python数据结构之翻转链表
2017/02/25 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
详解HTML5中的标签
2015/06/19 HTML / CSS
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
橄榄树药房:OLIVEDA
2019/09/01 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
入党自我鉴定范文
2013/10/04 职场文书
期末自我鉴定
2014/02/02 职场文书
《雾凇》教学反思
2014/02/17 职场文书
班子四风对照检查材料
2014/08/21 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
楚门的世界观后感
2015/06/03 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书