redis存储session配制方法

redis存储session配制方法需要三个模块;

1、redis

2、express-session

3、connect-redis

项目中的配置方法代码片段如下;

首先连接redis,连接redis数据库;

1 var redis = require('redis'); 2 var redis_client = redis.createClient('6379', redis_host); 3 redis_client.on('error', function (err) { console.error(err); }); 4 redis_client.on('connect', function() {});

配置express-session与connect-redis模块;

 1 var session = require('express-session');  2 var RedisStore = require('connect-redis')(session);  3 var session_options = {  4  secret: system_secret_key,  5   saveUninitialized: true,  6   resave: false,  7   proxy: false,  8   rolling: true,  9   cookie: {maxAge: 30 * 24 * 60 * 60 * 1000, httpOnly: true, domain: is_development ? '' : '', secure: false} 10 }; 11 //配置中间件;
12 app.use(session(_.extend({ store: new RedisStore({ 13  client: redis_client, 14   ttl: 30 * 24 * 60 * 60
15 })}, session_options)));

不明白的几点,

1、session_options为什么不填入 new RedisStore({})里面,而是单独放在外面;

2、session_options设置cookie参数里面的时间和new RedisStore({})里面传入的ttl时间有什么不同;

3、关于_extend,此方法是lodash中的方法,但没找到用法说明,不知道是干什么的;

 

你可能感兴趣的:(redis存储session配制方法)