node环境下通过redis共享session记录

  一直想着更改一下将node中的session信息通过redis进行保存一下。有利于未来共享相关的信息。做好了之后但是被老大无情pass掉方案。原因是暂时不需要这些。由于TOB的业务管理平台应用的人很少。只是启动一台服务足够。所以就没啥用了。也是很难受呀....不过在此记录一下。以后万一用得上。

  首先本次使用的express做的redis相关。首先下载redis的流程就不说了。直接在官网下载redis相关的东西。下载 => 解压 => 安装。

  node层面需要下载connect-redis和redis包。

const session = require('express-session');

const redis = require('redis');  
const RedisStore = require('connect-redis')(session);
const redisClient = redis.createClient(6379, '127.0.0.1', {});

app.use(session({
    secret: 'asdfeng',  // 秘钥
    resave: false,
    saveUninitialized: true,
    store:new RedisStore({client: redisClient}),
}));

  同时需要注意。redis本身是自己附带了超时时间的删除,默认是设置session时的maxAge,同时如果没有设置maxAge,会自动设置成过期时间为1天。如果想要修改可以在new RedisStore()中使用ttl设置你想要的过期时间。

  ps:记录一下设置redis后台更新的参数,需要再redis文件内的daemonize值改为yes。运行命令可以在安装的redis文件夹内部运行命令

    ./src/redis-cli ===》 启动客户端

    ./src/redis-server redis.conf ===》 根据redis.conf配置文件启动redis服务

    ./src/redis-cli shutdown ===》 停止服务

 

原文地址:https://www.cnblogs.com/acefeng/p/11989631.html