npm 包 express-mysql-session 使用教程

阅读时长 5 分钟读完

介绍

express-mysql-session 是一个用于将 Session 存储在 MySQL 数据库中的 Express 中间件。该库使用 mysql2 驱动程序,并具有可定制的选项。

安装

要在您的项目中使用 express-mysql-session,请使用 npm 进行安装:

用法

首先,您需要为库提供数据库连接信息。以下示例显示了如何建立连接:

-- -------------------- ---- -------
----- ------- - -------------------
----- ------- - ---------------------------
----- ---------- - ------------------------------------------

----- ------- - -
    ----- ------------
    ----- -----
    ----- -------
    --------- -----------
    --------- ---------
--

----- --- - ----------

-----------------
    ---- ----------------------
    ------- ------------------------
    ------ --- --------------------
    ------- ------
    ------------------ -----
----

配置选项

可以传递以下选项来自定义您的 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

纠错
反馈