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

我现有有个脚本设置的定时每隔 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年前 评论