美文网首页
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