복붙노트

[REDIS] 거래 및 유지 Node.js를가 / 세션을 표현

REDIS

거래 및 유지 Node.js를가 / 세션을 표현

나는이 모든 세션을 유지하는 방법이 필요 그래서 나는 현재 웹 응용 프로그램에서 일하고 있어요, 때마다 fs.mkdir가 호출이 웹 응용 프로그램은, 현재의 모든 명시 세션을 삭제합니다. 내가 작품을 연결-MongoDB를 및 연결 - 레디 스와 모든 세션을 유지하기 위해 노력하고, 그러나 어느 쪽도했다 nodemon 항상 req.session이 정의되지 말한다. 나는 모든 세션을 유지하기 위해 무엇을해야 알 수 없습니다.

나는 아직 누구의 작품이에 대한 좋은 튜토리얼을 완료 발견하지 않기 때문에 나는 모든 세션을 유지하는 방법이 필요합니다, 튜토리얼, 그것을 위해 fs.mkdir이 실행될 때를 잃게하지 않습니다! 나는 모든에 유래에서, 여기에 releated 읽고 있었다,하지만 아무것도 작품! 도와주세요!

해결법

  1. ==============================

    1.그것은 당신의 세션이 삭제 fs.mkdir 후 것을 매우 이국적인 소리가 난다. (나는 다른 SO 질문을 발견)

    그것은 당신의 세션이 삭제 fs.mkdir 후 것을 매우 이국적인 소리가 난다. (나는 다른 SO 질문을 발견)

    그러나 다시 질문에, 여기 당신이 세션 (레디 스)를 사용하는 방법에 약간의 코드입니다.

    var express = require('express')
      , fs = require('fs')
      , http = require('http')
      , RedisStore = require('connect-redis')(express)
      , sessionStore = new RedisStore()
      , app = express()
      ;
    
    app.configure(function(){
      app.set('port', 3000);
      app.use(express.bodyParser());
      app.use(express.methodOverride());
      app.use(express.cookieParser('secret'));
      app.use(express.session({
        store: sessionStore
      }));
      app.use(express.static(__dirname + '/public'));
      app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
    });
    
    app.get( '/', function(req, res){
      res.setHeader("Content-Type", "text/html");
      console.log( req.session );
      console.log( '------------------------' );
      res.end( 'root' );
    });
    
    app.get( '/dir/:id', function(req, res){
      console.log( req.session );
      console.log( '------------------------' );
    
      fs.mkdir( req.params.id );
      if ( req.session.dirs === undefined )
        req.session.dirs = [];
      req.session.dirs.push( req.params.id );
    
      console.log( req.session );
      console.log( '------------------------' );
    
      res.setHeader("Content-Type", "text/html");
      res.end( 'dir' );
    });
    
    
    server = http.createServer(app).listen(3000);
    

    당신은 표현의 문서를 읽고, 표현의 예를 검색한다

  2. from https://stackoverflow.com/questions/14006190/deal-and-keep-node-js-express-sessions by cc-by-sa and MIT license