如何在PHP / mysql Web应用程序中实现悲观锁定?
> web-user打开一个页面来编辑一个数据集(行)
>网络用户点击“锁定”按钮,以便其他用户能够阅读但不能写入此数据集
>网络用户进行一些修改(可能需要1到30分钟)
>网络用户点击“保存”或“取消”,删除“锁定”
在这种情况下,PHP / MysqL中是否有标准方法?如果网络用户从未点击“保存”/“取消”但关闭了互联网开发者,会发生什么?最佳答案传统上,这是通过在数据库中记录适当标记的布尔锁定列来完成的.
这种锁定的功能是必须释放锁定,并且环境可以自然地防止这种情况发生(系统崩溃,用户愚蠢,网络数据包丢失等等).这就是为什么你需要提供一些手动解锁方法和/或施加时间限制(可能有一个cron作业?)记录锁定的时间长度.如果浏览器仍处于打开状态,您可以实施某种AJAX轮询以保持记录锁定?无论如何,您可能最好验证记录中的数据与修改之前获取锁定时的数据相同.
这种行为的这种限制在Web应用程序中尤为普遍,但对于使用此方法的任何事情都是如此 – 对于一个,Sage line 50是一个BUG,我经常在机器/应用程序崩溃后删除锁定文件.
总结以上是内存溢出为你收集整理的如何在php / mysql Web应用程序中实现悲观锁定?全部内容,希望文章能够帮你解决如何在php / mysql Web应用程序中实现悲观锁定?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)