码迷,mamicode.com
首页 > 其他好文 > 详细

express中的会话存储方式

时间:2017-05-21 22:35:20      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:require   domain   生产环境   数据   简单   mon   boa   选项   user   

会话存储需要用的express-session包

app.use(require(‘express-sessiion‘)())

express-session接收带有如下选项的配置对象:

key;存放唯一会话标识的cookie名称,默认为connect.sid,

store 会话存储的实例,默认为一个MemoryStore的实例

cookie 会话cookie的cookie设置(path,domain,secure等)

会话设置之后使用起来非常简单,就是使用req请求对象的session属性,注意,响应对象上是没有session属性的

req.session.userName = ‘kevin‘ //设置session

delete req.sessiion.userName 删除session

通常,生产环境我们不会用服务器内存来存储session数据,因为一旦服务器重启session就没了,也不适合做集群扩展。

可以用mongodb或redis来存储会话数据

1,mongodb存储会话,需要用到mongoose-session

var express = require(‘express‘);

var mongoose = require(‘mongoose‘);
mongoose.connect(‘mongodb://localhost/db‘);

var app = express();

app.use(require(‘express-session‘)({
    key: ‘session‘,
    secret: ‘SUPER SECRET SECRET‘,
    store: require(‘mongoose-session‘)(mongoose)
}));

2,redis存储会话

var session = require(‘express-session‘);
var RedisStore = require(‘connect-redis‘)(session);
 
app.use(session({
    store: new RedisStore(options),
    secret: ‘keyboard cat‘
}));

options对象主要包括以下几个选项

client:redis客户端,通过安装node_redis来创建redis客户端对象

host redis服务器主机名

port redis服务器端口

url redis服务器url

express中的会话存储方式

标签:require   domain   生产环境   数据   简单   mon   boa   选项   user   

原文地址:http://www.cnblogs.com/toward-the-sun/p/6886308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!