Tag: 乐观锁定

PHP / MySQL / jQuery悲观锁定记录

我一直在考虑为我参与的应用程序开发一些简单的记录锁定。有一些用户需要花费数小时才能完成对记录的编辑。 当其他人想要对记录进行更改时,这会导致问题。 目前没有涉及锁定。 在我的情况下,我不确定乐观锁定是否可靠,因为记录是通过AJAX请求保存的。 我正在考虑应用某种悲观锁定; 使用两个字段,例如locking_user_id和locking_timestamp ,我可以跟踪打开记录的人和上次打开记录的人。 但是,由于用户可能一次打开几个小时,我怎么知道用户是放弃它还是只是努力工作? 我不想强迫他们每5分钟更新一次〜但这可能是一种可能性(AJAX每5分钟保存一次)。 也许jQuery进程可以在用户工作时进行计数,并且每5分钟发出一次AJAX请求(getJSON)来更新locking_timestamp。 这样我就可以保持谁在制作唱片。 在时间戳变为“旧”之后,我可以假设用户不再使用reocrd。 有没有人有这种锁定的经验?