express中的會話儲存方式

2022-02-21 18:29:05 字數 1328 閱讀 1298

會話儲存需要用的express-session包

express-session接收帶有如下選項的配置物件:

key;存放唯一會話標識的cookie名稱,預設為connect.sid,

store 會話儲存的例項,預設為乙個memorystore的例項

cookie 會話cookie的cookie設定(path,domain,secure等)

會話設定之後使用起來非常簡單,就是使用req請求物件的session屬性,注意,響應物件上是沒有session屬性的

req.session.username = 'kevin' //

設定session

delete req.sessiion.username 刪除session

通常,生產環境我們不會用伺服器記憶體來儲存session資料,因為一旦伺服器重啟session就沒了,也不適合做集群擴充套件。

可以用mongodb或redis來儲存會話資料

1,mongodb儲存會話,需要用到mongoose-session

var express = require('express');

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/db');

key: 'session',

secret: 'super secret secret',

store: require('mongoose-session')(mongoose)

}));

mongodb儲存會話有很多外掛程式可用,另外乙個很好的外掛程式connect-mongo-store

var express = require('express');

var mongostore = require('connect-mongo-store')(express)

or2,redis儲存會話

var session = require('express-session');

var redisstore = require('connect-redis')(session);

store:

newredisstore(options),

secret: 'keyboard cat'}));

options物件主要包括以下幾個選項

client:redis客戶端,通過安裝node_redis來建立redis客戶端物件

host redis伺服器主機名

port redis伺服器端口

url redis伺服器url

Express中的身份認證

由於 cookie 是儲存在瀏覽器中的,而且瀏覽器也提供了讀寫 cookie 的 api,因此 cookie 很容易被偽造,不具有安全 性。因此不建議伺服器將重要的隱私資料,通過 cookie 的形式傳送給瀏覽器。注意 千萬不要使用 cookie 儲存重要且隱私的資料!比如使用者的身份資訊 密碼等。...

C C 中類的儲存方式

一 簡單物件的儲存 1 基本型別對齊原則 char 1 short 2 int 4 long 4 float 4 double 8 2 結構體型別對齊原則 以最大成員型別的對齊方式為準,即當需要增長時,增長最大成員型別所占用的位元組數。3 靜態成員變數不占用類物件的儲存空間原則 靜態成員變數所有的類...

DELPHI中記錄的儲存方式

在delphi中,我們用record關鍵字來表明乙個記錄,有時候,我們還會看到用packed record來宣告的記錄,這二者的區別就在於儲存方式的不同 在windows中,記憶體的分配一次是4個位元組的,而packed按位元組進行記憶體的申請和分配,這樣速度要慢一些,因為需要額外的時間來進行指標的...