gpt4 book ai didi

java - Node.js 有状态服务器

转载 作者:搜寻专家 更新时间:2023-11-01 00:44:53 26 4
gpt4 key购买 nike

总的来说,我是 Node.js 和服务器端 JS 的新手。

我来自 Java EE,我习惯于使用有状态对象(不是 EJB,我使用的是 CDI),例如,用于 MVC。我的目标是保留一些与例如相关的数据。一个 session 。

Java EE 中的 CDI 知道以下状态范围:

  • 应用范围(= 与单例模式相同)
  • session 范围(状态在用户的 session 生命周期内保留,例如登录用户)
  • session 范围(为已识别的 session 保留状态,例如购物车)
  • Flash 作用域(状态保持在两个请求之间)

如何使用 Node 而不使用数据库,仅使用有状态对象来完成所有这些工作?

最佳答案

你需要像 connect 这样的东西为您跟踪 session 状态,因为这是这些范围中最不重要的。完成后,您可以执行以下操作。

  • 应用程序范围(= 与单例模式相同)
    • 在您的 HTTP 服务器实例上设置一个属性:myServer.totalRequestsServed = 0
    • 或者您可以使用进程范围的全局:global.totalRequestsServed = 0
  • session 范围(状态为用户的 session 生命周期保留,例如登录用户)
    • 为此使用连接 session 中间件:req.session.user = myUser
  • session 范围(为已识别的 session 保留状态,例如购物车)
    • 我不是很清楚您所说的“ session 范围”是什么意思,但我会把它放在 session 用户或共享哈希对象中。 session.user.shoppingCart = {}
  • Flash 范围(状态保持在两个请求之间)
    • 为此使用 session 或请求。 npm 中有现有的模块可以为您提供帮助,例如 req.flash("Welcome!")。参见 connect-flash例如。

关于java - Node.js 有状态服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21970880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com