mysql - 快速会话和 MySQL
问题描述
我现在正试图将我的头脑围绕会话.. 目前,我有一个 express/NodeJS 应用程序,它使用查询参数来存储脚本中的值,如下所示
脚本 片段:
curl localhost:3000/register?name=bob\&width=13.970000\&time=0
curl localhost:3000/wheels?left=0.000000\&right=0.000000\&time=0 --cookie "USER=bob"
curl localhost:3000/echo?dist=9.220000\&time=10 --cookie "USER=bob"
curl localhost:3000/line?l1=1\&l2=1\&l3=1\&time=20 --cookie "USER=bob"
curl localhost:3000/other?ir=0\&time=30 --cookie "USER=bob"
curl localhost:3000/wheels?left=3.000000\&right=3.000000\&time=100 --cookie "USER=bob"
curl localhost:3000/echo?dist=9.220000\&time=110 --cookie "USER=bob"
curl localhost:3000/line?l1=1\&l2=1\&l3=1\&time=120 --cookie "USER=bob"
curl localhost:3000/other?ir=0\&time=130 --cookie "USER=bob"
curl localhost:3000/wheels?left=3.000000\&right=3.000000\&time=200 --cookie "USER=bob"
curl localhost:3000/echo?dist=9.220000\&time=210 --cookie "USER=bob"
curl localhost:3000/line?l1=1\&l2=1\&l3=1\&time=220 --cookie "USER=bob"
我已经能够将每条数据从名称、宽度、左、右、l1、l2 等存储到 MySQL 上的数据库中。我什至创建了一个不错的 UI 来浏览数据库并对其进行过滤。我项目的下一部分是现在创建一种浏览各种会话并查看它们是否处于活动状态的方法......但是,我在尝试这样做时遇到了问题。
首先,一些问题:
- 如何将这些会话存储到 mysql?
- 会话如何链接到用户存储在数据库中的信息?例如,当我创建 UI 以浏览特定会话时,我希望能够单击会话,然后查看用户登录时存储的名称、宽度、左、右、l1、l2 等信息?
我已经阅读了 express-sessions 文档,并且我正在寻找的数据库信息确实有点模糊。如果这没有意义,那么我很抱歉。我发现对我来说一半的战斗是将我的问题用语言表达出来,但我正在尽我最大的努力学习 express、node js 和 mysql。任何帮助将不胜感激!
解决方案
对于 mysql 的 Express-session,您可以使用https://www.npmjs.com/package/express-mysql-session之类的连接器,并且作为给出的基本示例,您可以设置您的 express-session 将在 mysql 数据库中进行管理。
当您在应用程序中使用 app.use(--) 进行配置时。因为它将是节点应用程序中的中间件。您将有权访问req.session对象
简单用例
1. 用户登录后,您有用户数据,您可以将该信息添加到req.session.user = {...userInfo};
2. 在您访问 req 对象的其他调用中,设置会话后,您可以使用检索信息..const userInfo = req.session.user;
并且您希望 mysql 保存会话信息,因此,根据设置会话将对此进行管理。
您可以使用类似的方法
req.session.destroy(function(err) {
// cannot access session here -- you can use it at logout time or clear
})
推荐阅读
- circular-dependency - 由于转发功能,与Dependency walker的循环依赖?
- android - 完成()后活动屏幕仍然存在
- php - WordPress AJAX 函数返回中的 Echo 短代码
- ios - 音频套件 - 不同 DB 级别的调频音调?
- c# - nhibernate 和 fluent nhibernate 的内存泄漏
- php - PHP - 亵渎过滤器不起作用
- regex - anystring_anynumber__c.anystring_anynumber__c 格式的正则表达式
- python - 在 matplotlib hexbin 图中将参数传递给 reduce_C_function
- unity3d - Unity Vuforia NullReferenceException
- javascript - Sphinx-js 不会从 .js 文件生成文档