1. 程式人生 > >Node.js_express_臨時會話物件 npm install express-session

Node.js_express_臨時會話物件 npm install express-session

臨時會話物件 npm install express-session

npm install express-session

npm install connect-mongo

基本使用

  • const session = require('express-session');
    const MongoStore = require('connect-mongo')(session);
  • app.use(express.session({
          secret: 'keyboard cat',    //  加密字串,參與 sessionid 加密
    saveUninitialized: false, // 在儲存某東東之前,不會建立 session 物件 resave: false, // 如果沒有修改 session 物件,就不會重新儲存 store: new MongoStore({ url: 'mongodb://localhost/test-app', // 連線資料庫的地址 touchAfter: 24 * 3600 // 24 小時更新一次 }) })); ... // 設定 session 會在資料庫中建立 session 物件
    // 儲存 userId=findRet.id 到資料庫 request.session.userId = findRet.id; ... // 解析 cookie 中的 session 去資料庫中找對應 sessionId 的資料 // 返回一個 cookie const {userId} = request.session; ...
    app.use(express.session({
          secret: 'keyboard cat',    //  加密字串,參與 sessionid 加密
          saveUninitialized: false
    , // 在儲存某東東之前,不會建立 session 物件 resave: false, // 如果沒有修改 session 物件,就不會重新儲存 store: new MongoStore({ url: 'mongodb://localhost/test-app', // 連線資料庫的地址 touchAfter: 24 * 3600 // 24 小時更新一次 }) })); ... // 設定 session 會在資料庫中建立 session 物件 // 儲存 userId=findRet.id 到資料庫 request.session.userId = findRet.id; ... // 解析 cookie 中的 session 去資料庫中找對應 sessionId 的資料 // 返回一個 cookie const {userId} = request.session; ...
  • session 優勢

讀寫二合一

儲存資料近乎無限大,取決於 伺服器 的儲存容量

傳輸流量小(資料傳輸過程中 cookie 更小更少)

  • 私有變數 _name

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5