【问题标题】:How to Handle Concurrency control in PHP & MySql如何在 PHP 和 MySql 中处理并发控制
【发布时间】:2017-08-30 05:09:10
【问题描述】:

我正在使用核心 PHP 和 Mysql 来构建一个项目,我有一个注册表单,它分为多种形式(比如 4 到 5 个表单),每个表单都从新用户那里获取用户详细信息,我想保存最终提交表单时将用户数据保存到数据库表中,所以我的问题是在哪里保存从 mutiforms 获得的数据?

情况: 1. 如果我使用会话变量来存储表单数据,那么将数据存储到会话将占用太多服务器资源,或者如果我在注册的同时有很多用户,则更糟。所以会话会降低服务器的速度。

请为此提出解决方案。

【问题讨论】:

  • 您从哪里得知 100 个并发用户在会话中有数据会减慢服务器速度?你的体型有多大?也许如果服务器是一个旧的德州仪器计算器。 :-) 无论哪种方式,我都会使用本地存储(将表单数据存储在用户浏览器中)存储信息,直到最后一次提交。
  • 你的意思是我们可以使用cookie?
  • 如果 cookie 可以破解怎么办?
  • cookies != 会话 ...
  • 不,我的意思是local storage。为什么有人会破解他们刚刚提供给您的表单的信息?

标签: php mysql concurrency multiple-forms


【解决方案1】:

将所有数据存储在数据库中,并将数据与用户的会话 ID 匹配。

【讨论】:

  • 你的意思是我必须在提交迷你表单时进行多个数据查询。
  • 什么是“多数据查询”?
  • 我的意思是表单步骤中的多个插入查询
  • 每个表单,一个查询插入数据。
  • 或者,就像 O.Palm 所建议的那样,......只需将数据保存在 javascript 变量中。
【解决方案2】:

您可以在 javascript 中获取所有字段并使用 ajax 发送到服务器。其他解决方案是请求单独的表单并使用 SQL 事务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2013-08-29
    • 2011-06-27
    相关资源
    最近更新 更多