作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我有一个 Web 服务和几个后台运行的异步服务(用于长时间运行的数据收集过程),它们使用相同的 DAO 库和共享数据源。使用 Spring JDBC 模板实现的 DAO 库。 RDBMS 是 PostgreSQL。
当 Web 服务和异步服务通过 DAO 同时修改一个表中的相同行并因此导致数据不一致时,这种情况并不少见。
例如,我在一个实体中有一个“状态”字段,它可以取值:1 - 付费,2 - 未付费。
有时我会遇到这样的情况:
结果我的“状态”等于 1,尽管它必须是 2。它也有争议。有时异步服务会更改“状态”字段,而 Web 服务不知道此更改并再次造成数据困惑。当然,它不仅发生在状态字段上。
我有两个选择:
可能存在一些模式来处理合并数据这样的情况?
谢谢,
伊万
我正在编写一个 Web 应用程序,两个不同的用户可以在其中更新事物列表,例如待办事项列表。我已经意识到,乐观锁定机制效果最好,因为我不希望出现高争用情况。 我一直在查看事务隔离级别,现在我有点困惑。看
这个问题在这里已经有了答案: Pessimistic versus Optimistic Concurrency (Locking versus Feedback) (3 个答案) 关闭 8 年前。
我是一名优秀的程序员,十分优秀!