|
1
9
如果我是对的,你所说的似乎是一种签出/编辑/签入样式的工作流。当一个用户正在编辑一条记录时,其他用户甚至不能开始编辑同一条记录。 乐观的 并发性—也就是说,当您尝试保存时,它们会告诉您其他人已经更改了记录。乐观没有锁定的概念,真的-它确保在您获取和保存时间之间没有其他用户保存。 您想要的并不是一个简单的web需求,因为当用户中止编辑(比如关闭浏览器)时,服务器实际上没有办法强制执行签入。我不知道有什么框架可以处理这个问题。
但是,如果是通过关闭浏览器、关闭机器电源等方式,那么就有一个孤立的锁。大多数人用两种方法解决这个问题: 2心跳。用户定期ping回服务器说“是的,仍在编辑”。这基本上是#1中的超时选项,但是超时非常短,可以根据需要刷新。好处是你可以任意缩短它。缺点是复杂性和网络使用率增加。 如果您已经有了一个事务持久存储(比如DB),那么签入/签出令牌其实并不难实现:难的部分是将它集成到您的用户体验中。 |