介绍
express-mysql-session 是一个用于将 Session 存储在 MySQL 数据库中的 Express 中间件。该库使用 mysql2 驱动程序,并具有可定制的选项。
安装
要在您的项目中使用 express-mysql-session,请使用 npm 进行安装:
npm install express-mysql-session --save
用法
首先,您需要为库提供数据库连接信息。以下示例显示了如何建立连接:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - --------------------------- ----- ---------- - ------------------------------------------ ----- ------- - - ----- ------------ ----- ----- ----- ------- --------- ----------- --------- --------- -- ----- --- - ---------- ----------------- ---- ---------------------- ------- ------------------------ ------ --- -------------------- ------- ------ ------------------ ----- ----
配置选项
可以传递以下选项来自定义您的 MySQLSession 存储:
checkExpirationInterval
: 每隔多少毫秒检查一次会话是否过期。默认值为 900000 (15 分钟)。expiration
: 会话过期时间(以毫秒为单位)。默认为 86400000(24 小时)。createDatabaseTable
: 如果设置为 true,则创建数据库表(如果不存在)。默认为 true。connectionLimit
: 数据库连接池的最大连接数。默认为 1。schema
: 用于存储会话数据的表的名称。默认为 sessions。charset
: 用于存储会话数据的表的字符集。默认为 utf8mb4_bin。
以下示例显示如何使用自定义选项:
-- -------------------- ---- ------- ----- ------- - - ----- ------------ ----- ----- ----- ------- --------- --- --------- ---------- ------------------------ ------- ----------- --------- -------------------- ----- ---------------- -- ------- - ---------- ------------------ ------------ - ----------- -------------------- -------- ----------------------------- ----- ------------------------- - -- -------- ------------- --
示例代码
以下是使用 express-mysql-session 存储会话数据的完整示例:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - --------------------------- ----- ---------- - ------------------------------------------ ----- ------- - - ----- ------------ ----- ----- ----- ------- --------- ----------- --------- --------- -- ----- --- - ---------- ----------------- ---- ---------------------- ------- ------------------------ ------ --- -------------------- ------- ------ ------------------ ----- ---- ------------ ----- ---- -- - -- ------------------- - -------------------- ----------------------------- ------------- -------------------- --------------------------- --------------------- --- --------------------------- - ------------- ---------- - ---- - ----------------- - -- ---------------- -- --- ------- ----- ----------- - --- ---------------- -- -- - ------------------- --------- -- ---- ------- ---
此示例在访问根路径(/)时存储会话数据,并在访问时同时提供有关当前会话的有用信息。*
总结
express-mysql-session 是将 Session 存储在 MySQL 数据库中的最简单方法之一。要配置此库,请根据您的具体用例传递选项。这个库十分简单易懂,仅需要少量配置即可在 Express 应用程序中进行使用。*
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66991