请教下 lockForUpdate () 的问题
情况#
在循环执行更新数据的场景下:
table A
data a
data b
data c
data d
…..
这时候取出一条数据(data a)执行数据更新,比如要执行 10s。
而 2s 后,脚本再次触发执行,这时候,还是取出了 data a,又被执行了,造成资源浪费。
问题#
所以我想,能不能从数据库层面限制掉这种重复取 data a 的情况,
table A
data a 上锁处理 data a
data b
data c
data d
…..
这时候脚本执行只能取出 data b,而我在事务里使用 lockForUpdate (),脚本在再次执行的时候,会产生阻塞,导致超时。
请教大佬们,有办法解决这个问题吗?
PS:缓存肯定可行,只是想在数据库层面限制掉
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: