1.采用redis存储 session,需要使用高版本的redis,windows环境下面的不支持(版本较低)
2.在express工程中配置,
function initSessionRedis(){ const redis = require('redis'); const redisStore= require('connect-redis')(session); var _config = require('./src/config/ServerConfig'); var configObj = _config.GetServerConfig(); var _conn_options = {"host":"127.0.0.1","port":6379,"auth_pass":"","dbindex":2}; if(configObj&&configObj.session_redis&&configObj.session_redis.isvalid){ _conn_options = configObj.session_redis; if(_conn_options==undefined||_conn_options.isvalid!=true){ log4.infoLog("***系统未配置Session会话持久存储***"); return; } let _hours = _conn_options.session_hour?parseInt(_conn_options.session_hour):24; var _rClient = redis.createClient(_conn_options); var _store = new redisStore({client:_rClient,prefix: 'session:'}); let _rt = app.use(session({ secret: '147852', saveUninitialized:false, resave:false, store:_store, cookie:{maxAge: 1000*60*60*_hours} // default session expiration is set to 1 hour })); log4.infoLog("***初始化Session会话持久存储成功***"); _rClient.on('error', function (err) { log4.errorLog("!!!创建Session会话持久存储失败,请检查server.json中redis连接参数!!!"); _rClient&&_rClient.quit(); }); }else{ app.use(session({ secret: '147852', resave: true, saveUninitialized: false })); } }