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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
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年前 评论

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