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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
chowjiawei
最佳答案

表分为2个相同的表

A B

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

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

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

加锁呗 :wolf:

2年前 评论

为啥不批量插入数据呢

2年前 评论

加个redis锁就解决了

2年前 评论

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

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


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

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

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

2年前 评论
chowjiawei

表分为2个相同的表

A B

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

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

2年前 评论

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