【问题标题】:Resource access lock PHP资源访问锁 PHP
【发布时间】:2012-03-29 08:19:40
【问题描述】:

我正在开发一个简单的支持应用程序,客户可以在其中提出问题并由管理员回答。我需要为一个问题实施资源锁定,以避免多个管理员处理同一个问题并避免数据冲突。这种任务的最佳实践是什么?

PS 我正在使用 PHP 和 MySQL 库来存储问题。

编辑

我知道我只是可以简单地为该资源添加一个状态字段,当打开它时会锁定它,但是如果假设管理员只是关闭浏览器窗口,我该如何关闭它。

【问题讨论】:

标签: php mysql locking


【解决方案1】:

好吧...如果您在 Mysql db 中遇到问题,如何只添加一列,其中包含正在解决此问题的信息?然后,当管理员想要打开问题时,您可以检查它...

【讨论】:

    【解决方案2】:

    除了锁定列之外,您可能应该在有人请求阅读时立即锁定条目,而不仅仅是在管理员将其归属于自己时。 如果这样做,您将避免同时访问资源。

    例如,如果您的 UI 显示如下内容:

    /!\ WARNING /!\ 另一个管理员已经处理了这个问题 /!\ WARNING /!\

    您可能希望避免两个管理员同时访问请求,在 UI 请求问题的 GET STATUS / GET INFORMATION(SELECT 请求)时使用锁定集。

    如果您要寻找临时锁,则必须处理会话和触发器以及可重复使用的密钥。

    【讨论】:

    • 可以详细解释一下“如果您要寻找临时锁,则必须处理会话和触发器以及可重复使用的密钥。”因为我想创建一个临时锁
    猜你喜欢
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多