前端之家收集整理的这篇文章主要介绍了
如何在php / mysql Web应用程序中实现悲观锁定?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在PHP / mysql Web应用程序中实现悲观锁定?
> web-user打开一个页面来编辑一个数据集(行)
>网络用户点击“锁定”按钮,以便其他用户能够阅读但不能写入此数据集
>网络用户进行一些修改(可能需要1到30分钟)
>网络用户点击“保存”或“取消”,删除“锁定”
在这种情况下,PHP / @R_404_198@中是否有标准方法?如果网络用户从未点击“保存”/“取消”但关闭了互联网开发者,会发生什么?
最佳答案
传统上,这是通过在
数据库中记录适当
标记的布尔锁定列来完成的.
这种锁定的功能是必须释放锁定,并且环境可以自然地防止这种情况发生(系统崩溃,用户愚蠢,网络数据包丢失等等).这就是为什么你需要提供一些手动解锁方法和/或施加时间限制(可能有一个cron作业?)记录锁定的时间长度.如果浏览器仍处于打开状态,您可以实施某种AJAX轮询以保持记录锁定?无论如何,您可能最好验证记录中的数据与修改之前获取锁定时的数据相同.
这种行为的这种限制在Web应用程序中尤为普遍,但对于使用此方法的任何事情都是如此 – 对于一个,Sage Line 50是一个bug,我经常在机器/应用程序崩溃后删除锁定文件.
原文链接:https://www.f2er.com/mysql/434222.html