问题标签 [optimistic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
32 浏览

reactjs - Apollo 客户端:删除乐观创建的对象,而它仍在运行中

使用一个使用假 id乐观地创建一个新对象的突变,在以下行中:

如果我们也有相应的deleteNote()突变,也是乐观的,那么处理在服务器对 addNote 的响应返回之前触发的删除的最佳实践是什么,因此客户端中唯一可传递给 deleteNote 的 id 是乐观的临时的id: '-1'

当我向添加/删除按钮发送垃圾邮件时,我当前的实现有点混乱。


编辑:我的服务器不返回删除的对象,只是成功/失败,我不知道这是否重要。

0 投票
0 回答
117 浏览

mysql - prisma:乐观并发控制使用UpdateMany有问题

我有个问题。不知道是自己用错了还是有问题 并发下,用updateMany实现的乐观锁会有overwrite writes 谢谢大家帮忙~
地址

简单测试

文档代码演示中的乐观并发控制模式案例代码(小改动)

图式

代码

测试结果

结果看起来,在并发期间,测试 1 和 3 被覆盖,只有测试 2 和 4 有效

事务隔离级别 rr

test1:db 数据之前:id =4 movieId=1 version = 1 movie=fly claimBy = null

db 数据后:id =4 movieId=1 version =3 movie=fly claimBy = userB

test2:在db数据之前:id =5 movieId=1 version = 1 movie=fly claimBy = null

db 数据后: id =5 movieId=1 version = 2 movie=fly claimBy = userB

事务隔离级别rc test3:db数据前:id =6 movieId=1 version = 1 movie=fly claimBy = null

db 数据后: id =6 movieId=1 version =3 movie=fly claimBy = userA

test4:db 数据之前:id =7 movieId=1 version = 1 movie=fly claimBy = null

db 数据后: id =7 movieId=1 version = 2 movie=fly claimBy = userB