2012-03-29 85 views
2

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

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

编辑

我知道,我只是简单地可以把状态字段到资源和虐待打开时将其锁定,但我怎么关闭它,如果让我们说管理刚刚关闭浏览器窗口。

+0

可能的重复http://stackoverflow.com/questions/1729457/mysql-apply-a-row-level-lock-using-mysqli – matino 2012-03-29 08:26:26

回答

1

那么......如果你在Mysql数据库中有你的问题如何添加一列与正在处理这个问题的信息?你可以检查它当管理员想要打开问题...

0

除了你的锁列添加,你可能应该锁定条目,只要有人请求阅读它,而不是当管理员attrib它自己。 如果你这样做,你会避免同时访问资源。

对于为例,如果你有你的UI,其显示是这样的:!!!!

/\警告/ \另一个管理员已经处理这个问题/ \警告/ \

你”可能希望避免两个管理员同时访问请求,只要UI请求GET STATUS/GET INFORMATION(SELECT请求)问题,就使用一个锁集。

如果您正在寻找临时锁,您将不得不处理会话和触发器以及可重用密钥。

+0

可以解释更多关于'如果你寻找一个临时锁,你'必须处理会话和触发器以及可重用密钥。“正如我想创建一个临时锁 – 2014-02-16 02:13:31