美文网首页
session,redis

session,redis

作者: _前端码农_ | 来源:发表于2020-04-26 13:51 被阅读0次

一、session直接是js变量,放在nodejs进程内存中的问题

  1. 进程内容有限,访问量过大,会导致内存暴增
  2. 正式线上运行是多线程,进程之间内存无法共享
    解决方案:redis
  3. session 访问频繁,对性能要求极高
  4. session可不考虑断电丢失数据的问题
  5. session数据量不会太大

二、redis

  1. 安装 npm i redis connect-redis -S
  2. 配置 和 启动方式:redis-server.exe redis.windows.conf
1.conf/db.js
REDIS_CONF = {
    port: 6379,
    host:'127.0.0.1'
}

2. db/redis.js
const redis = require('redis')
const { REDIS_CONF } = require('../conf/db.js')

// 创建客户端
const redisClient = redis.createClient(REDIS_CONF.port, REDIS_CONF.host)
redisClient.on('error', err => {
    console.error(err)
})
module.exports = redisClient;
3. app.js
const RedisStore = require('connect-redis')(session)
const redisClient = require('./db/redis')
const sessionStore = new RedisStore({
    client: redisClient
})
app.use(session({
  secret: 'Wdj#fds_95',
  resave: true,
  saveUninitialized: true,
  cookie:{
    path:'/',
    httpOnly: true,
    maxAge: 5 * 60*1000
  },
  store: sessionStore
}))

相关文章

网友评论

      本文标题:session,redis

      本文链接:https://www.haomeiwen.com/subject/tpidwhtx.html