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 相关文章推荐
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
jQuery+HTML5加入购物车代码分享
Oct 29 Javascript
Javascript基础知识盲点总结之函数
May 15 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
Aug 02 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
Jul 11 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
Mar 21 Javascript
Node.js 使用AngularJS的方法示例
May 11 Javascript
webpack4 css打包压缩问题的解决
May 18 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
Aug 27 Javascript
微信小程序使用swiper组件实现层叠轮播图
Nov 04 Javascript
微信小程序开发技巧汇总
Jul 15 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 06 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
Valerio 发布了 Mootools
2006/09/23 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
2019/08/09 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
单身旅行者的单身假期:Just You
2018/04/08 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
Delphi CS笔试题
2014/01/04 面试题
文员岗位职责
2013/11/09 职场文书
关于期中考试的反思
2014/02/02 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
员工工作心得体会
2019/05/07 职场文书
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL