我正在开发一个 Spring
应用程序,其中许多用户
一次会访问该应用程序,现在的情况是如果一个用户持有
来自数据库
的特定数据
,其他用户在释放该特定数据之前不应访问该数据,就像堆栈溢出中的Review一样
,给出一些解决这个问题的建议。
最佳答案
在您的应用中创建数据库对象缓存。当用户1请求一个对象(例如通过ID)时,您从数据库读取它,将其放入缓存中,锁定它并记住谁锁定了它(对象中应该有一个锁和lockedByUser字段)并将其返回给用户1。当用户 2 请求相同的对象时,您会阻止他,直到释放锁或抛出异常。这只是一个基本想法。
关于java - 保留和释放数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16370829/