关于一个脚本时间间隔问题

我现有有个脚本设置的定时每隔1小时跑一次,脚本的内容是先删除表里的数据,然后重新全部插入,脚本执行时间10分钟左右,插入方式是循环插的,这样就会产生一个问题,就是在这10分钟期间数据不完整因为还没跑完,加个事务能解决这个问题吗,但是又怕事务循环插入太大了

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
chowjiawei
最佳答案

表分为2个相同的表

A B

单数小时(1 3 5 7 9 11 13 15 17 19 21 23)删除表A数据,批量插入 双数小时 删除表B数据,批量插入

读取时判断目前是单数小时还是双数小时来读取A表还是B表

3年前 评论
讨论数量: 8
pingping

加锁呗 :wolf:

3年前 评论

为啥不批量插入数据呢

3年前 评论

加个redis锁就解决了

3年前 评论

建个 Redis List队列,往里面 push。

然后异步脚本循环读取 List 队列,依次执行


能不加锁就不要加锁啊, 维护成本是个问题,假设其他业务同样要处理这个问题了,那不得死机

3年前 评论
huchao399 3年前
surest (作者) 3年前

为啥要循环插入,而不是批量 insert

3年前 评论
chowjiawei

表分为2个相同的表

A B

单数小时(1 3 5 7 9 11 13 15 17 19 21 23)删除表A数据,批量插入 双数小时 删除表B数据,批量插入

读取时判断目前是单数小时还是双数小时来读取A表还是B表

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!