簡體   English   中英

會話的 express-mysql-session "expires" 值搞砸了

[英]express-mysql-session "expires" value of session is messed up

我使用 express-mysql-session 作為我服務器的會話存儲,每次檢查我的數據庫時,我都會看到所有會話都有一個“過期”值,可以追溯到 70 年代(以毫秒為單位)。

即使我將checkExpirationInterval設置為 300000,也不會清除任何會話。

var sessionStore = new MySQLStore({
host: process.env.DB_HOST,
port: 3306,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_DATABASE,
clearExpired: true,
checkExpirationInterval: 300000,
expiration: 1000 })

有什么我可以做的嗎?

我試圖重新創建您的確切問題:

A. 這是我的 my-sql-store 選項:

var options = {
    host: 'localhost',
    port: 3306,
    user: 'root',
    password: 'password',
    database: 'myDB',
    clearExpired: true,
    checkExpirationInterval: 30000, //30 seconds
    expiration: 1000
}
var sessionStore = new MySqlStore(options);

B. 這是我在我的應用程序中安裝會話的位置:

app.use(session({
    key: 'this_is_my_key',
    secret: 'it_is_a_secret',
    store: sessionStore,
    resave: false,
    saveUninitialized: false
}))

結論有了以上信息,我的會話確實在 30000 毫秒或 30 秒內從我的 sql 數據庫中刪除了過期的會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM