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 ===》 停止服务