PHP / MySQL / jQuery悲观锁定记录
发布时间:2020-12-13 17:23:20 所属栏目:PHP教程 来源:网络整理
导读:我一直在考虑为我所参与的应用程序开发一些简单的记录锁定.有一些用户需要几个小时才能完成对记录的编辑.当其他人想要对记录进行更改时,这会导致问题.目前没有涉及锁定. 我不确定乐观锁定在我的情况下是否可靠,因为记录是通过AJAX请求保存的.我正在考虑应用
我一直在考虑为我所参与的应用程序开发一些简单的记录锁定.有一些用户需要几个小时才能完成对记录的编辑.当其他人想要对记录进行更改时,这会导致问题.目前没有涉及锁定.
我不确定乐观锁定在我的情况下是否可靠,因为记录是通过AJAX请求保存的.我正在考虑应用某种悲观锁定;使用两个字段,例如locking_user_id和locking_timestamp,我可以跟踪打开记录的人和上次打开记录的人. 但是,由于用户可能一次打开几个小时,我怎么知道用户是放弃它还是只是努力工作?我不想强迫他们每5分钟更新一次?但这可能是一种可能性(AJAX每5分钟保存一次). 也许jQuery进程可以在用户工作时进行计数,并且每5分钟发出一次AJAX请求(getJSON)来更新locking_timestamp.这样我就可以维护谁正在记录.在时间戳变为“旧”之后,我可以假设用户不再使用reocrd.有没有人有这种锁定的经验? 解决方法
使用AJAX请求更新locking_timestamp是一个很好的策略,并且可以正常工作.
但是,电话间隔5分钟对我来说似乎有点长.除非你有非常高的流量,否则从用户的角度来看,30秒就会更好.想象一下,有人必须等待5分钟,因为另一个用户打开了记录,然后关闭了他的浏览器…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |