在使用 Node.js 作为后端开发语言时,Redis 通常被用来存储会话信息。而 connect-redis
就是一个非常流行的 npm 包,用于将 Express 应用程序中的会话存储到 Redis 中。
安装和配置
要使用 connect-redis
,首先必须安装 Redis 数据库并启动 Redis 服务。然后用 npm 安装 connect-redis
:
npm install connect-redis
接下来,在应用程序中,将 connect-redis
模块导入并创建一个 Redis 存储实例:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - --------------------------- ----- ---------- - ---------------------------------- ----- --- - ---------- ----------------- ------ --- -------------------------- ------- ------------------ ------- ------ ------------------ ----- ----
这里,我们将 connect-redis
传递给 express-session
的 store
选项中,以便将会话数据存储到 Redis 中。可以通过传递选项对象来配置存储:
host
:Redis 服务器的主机地址,默认为'127.0.0.1'
。port
:Redis 服务器的端口号,默认为6379
。db
:Redis 数据库的编号,默认为0
。pass
:Redis 服务器的认证密码,默认为null
。prefix
:所有存储的键名前缀,默认为'sess:'
。
示例
以下示例演示了如何使用 connect-redis
在 Express 应用程序中存储和读取会话数据:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - --------------------------- ----- ---------- - ---------------------------------- ----- --- - ---------- ----------------- ------ --- ------------- ------- ------------------ ------- ------ ------------------ ----- ---- ------------ ----- ---- -- - --------------------- - -------------------- ----------------------------- ------------- -------------------- --------------------------- --------------------- --- --------------------------- - ------------- ---------- - ---- - ----------------- - -- ---------------- -- --- ------- ----- ----------- - --- ---------------- -- -- - ------------------- ------- -- ------------------------ ---
在上面的示例中,我们定义了一个路由,它将自增访问计数器存储在会话对象中。如果会话已存在,则将其值加一并在响应中输出;否则,将计数器初始化为 1 并发送欢迎消息。
当浏览器第一次请求该路由时,会话将被创建并设置过期时间。以后的每个请求都会自动更新会话的过期时间,因此会话数据在 Redis 中保持不变。
总结
通过使用 connect-redis
,我们可以将 Express 会话数据存储到 Redis 中,从而获得更好的性能和可伸缩性。同时,该模块还提供了许多配置选项,使其适合各种使用场景。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/50652