Nodejs Connect/Express 会话如何管理内存

2024-02-18

我一直在阅读一些关于 Connect 和 Express 的源代码,了解如何管理会话。我仍在学习会话的基础知识,但我不明白内存是如何处理的。

我知道服务器将会话数据保存在内存中并使用会话 ID 来访问数据。服务器发送保存 id 的 cookie(我猜是会话 cookie?),当用户访问该站点时,会再次使用会话。

这是一个愚蠢的问题,但我的问题是,如果用户删除他的 cookie 或在不更新会话超时的情况下过期,如何管理内存?数据会永远保留在内存中吗?

我研究了 PHP 和其他语言,并看到了有关它们如何清理会话的文档。他们似乎有一个垃圾收集器(扫描并删除过期的会话)。 Connect/Express 有此功能吗?


连接MemoryStore(默认的会话存储模块Session中间件)将not垃圾收集过期的会话。它仅在它们过期时检查它们的过期时间accessed(此时它will如果会话过期,则删除存储),因此,如果用户清除其 cookie,则会话将永远不会再次被访问,并且永远不会从MemoryStore. Hence 的警告Session中间件文档 http://www.senchalabs.org/connect/session.html#warning that MemoryStore不应该在生产中使用。

Connect 不提供其他会话存储模块,并希望您在抽象的基础上提供自己的会话存储模块Store模块包含在Session中间件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nodejs Connect/Express 会话如何管理内存 的相关文章

随机推荐

  • 使用 ESM 在浏览器中动态或静态导入 json

    我运行以下示例 而 JS 之上没有捆绑器 index js async gt const mod await import index json console log mod file index json Chrome 80 无法加载
  • Django:员工装饰者

    我正在尝试为 Django 编写一个 仅限员工 的装饰器 但我似乎无法让它工作 def staff only error Only staff may view this page def dec view func def view re
  • 两个复杂度 O((2n + 1)!) 和 O(n!) 相等吗?

    这可能是一个幼稚的问题 但我对 Big O 表示法和复杂性的概念很陌生 无法找到任何答案 我正在处理一个算法 2n 1 次检查条件 我可以说问题的复杂度是 O n 还是复杂度是 O 2n 1 Use 斯特林近似 http en wikipe
  • JAVA中存储二维数组的数据结构

    我正在寻找一种数据结构来存储二维整数数组 List 是正确的数据结构还是我应该使用另一种数据结构 有人可以给我一个关于如何创建这样的数据结构以及如何添加二维数组的简短示例吗 编辑 我想要一个数据结构 在其中存储 int 11 7 数组 例如
  • MySQL 中 BLOB 到长文本的转换

    我在 MySQL 中有一个数据类型为 BLOB 的列 我正在使用 Crystal Reports 来生成一些报告 我的问题是 BLOB 列如果包含图片以外的数据 将显示空白数据 我从数据库获取的数据只是文本 所以我想将 BLOB 列转换为其
  • 无法从设备存储中删除文件android

    我正在开发一个笔记应用程序 其中列表视图在将笔记存储在由我的实用程序类控制的内部存储中后显示笔记 我刚刚在上下文菜单中实现了删除选项 删除选项可以很好地删除每个选定的列表视图项目 但是 当我刷新列表活动或添加新注释时 已删除的注释不断重新出
  • 一旦我将项目添加到 XCode 4.0.2,它就会崩溃

    它给出了这个错误 ASSERTION FAILURE in SourceCache IDEXcode3ProjectSupport IDEXcode3ProjectSupport 269 Xcode3Sources XcodeIDE Fra
  • 如何使用 jszip 库压缩文件

    我正在开发一个使用 HTML5 和 jquery 的移动离线应用程序 我想使用 jszip 从本地存储备份文件 下面是我所做的代码片段 if localStorageKeys length gt 0 for var i 0 i lt loc
  • android:覆盖来电屏幕

    我想在来电屏幕上添加一些附加信息 为此 在我的应用程序中 我正在检查 PHONE STATE 并在 RINGING 上 我正在调用一项活动 在此活动中 我设置如下文本视图 它按预期工作 文本将添加到来电屏幕 问题是 如果我在我的应用程序中
  • 使用正则表达式和 re 获取括号之间的文本

    我有一个字符串数组 我想从中提取特定内容 link description button text 我想得到以下输出 link description button text 对于数组中的每个字符串 我执行以下操作 str re finda
  • Create-React-App:从 node_module 目录包含 CSS 的最佳方法是什么

    我正在尝试在我的 create react app 项目中包含一些 CSS CSS 来自第 3 方 NPM 包 因此位于 node modules 目录中 我试过 import node modules packagename css st
  • 尽管超时很长,PHP 仍丢失 mongoDB 游标

    我正在运行一个长 mongoDB 查询 如下所示 foreach xyz gt find gt timeout 24 60 60 1000 gt maxTimeMS 24 60 60 1000 as document 但是 尽管客户端和服务
  • 更改单选按钮旁边的文本字体?

    要更改我使用的 textView 的字体 TextView tv TextView findViewById R id textview Typeface font Typeface createFromAsset getAssets SF
  • #selector' 指的是未暴露给 Objective-C swift 3 的方法

    我正在使用 Xcode 8 和 swift 3 我在 let action 行上出现以下错误 selector 指的是不暴露给Objective C的方法有什么建议吗 override func tableView tableView UI
  • 传递结构体和结构体指针有什么区别,它们不都是指针吗?

    例如 var myStructRef Vertex var myStruct Vertex myStructRef Vertex 2 3 myStruct Vertex 2 3 fmt Println myStructRef fmt Pri
  • 如何使 Tkinter 支持 PNG 透明度?

    我在 Tkinter 中放入了部分透明的 PNG 图像 我得到的就是这个 如何让右边的黑三角变清晰 就像应该的那样 顺便说一句 这是 Windows 7 上的 python 2 6 这是一个示例 PNG 文件 example png 在不同
  • 如何保持多个虚拟树视图节点的检查状态同步?

    我的树有 2 层节点 它是联系人列表风格树 我的问题是 我想检查所有 联系人类别 中的每个联系人 这是我的联系人列表现在的屏幕截图 是的 我有权发布它 如你所见 托德 赫希已在类别中选中测试类别 但不在所有联系人 我想要实现的目标是让联系人
  • Reflection.Emit 抛出 BadImageFormatException

    我试图在运行时生成一个新的类 对象 看完之后如何使用 PropertyBuilder 创建私有属性 https stackoverflow com questions 33674541 how to create a private pro
  • azure 函数的身份验证令牌缓存

    我们使用身份服务器为我们使用的第三方服务颁发令牌 每个令牌的 TTL 为 1 小时 想知道从天蓝色函数使用此令牌时缓存此令牌的最佳实践是什么 我知道该函数应该是无状态的 但在每个函数运行中请求新令牌是没有意义的 谢谢 这里有一些选项 按努力
  • Nodejs Connect/Express 会话如何管理内存

    我一直在阅读一些关于 Connect 和 Express 的源代码 了解如何管理会话 我仍在学习会话的基础知识 但我不明白内存是如何处理的 我知道服务器将会话数据保存在内存中并使用会话 ID 来访问数据 服务器发送保存 id 的 cooki