首页 新闻 会员 周边

更新数据库表的信息(php)

0
悬赏园豆:5 [待解决问题]

我从接口拉取到用户的信息存放在我的数据库表中,由于接口用户信息的变动, 我也要同步更新数据表的信息,请问我应该怎么来解决这个问题????

php
阿鸠的主页 阿鸠 | 初学一级 | 园豆:2
提问于:2017-07-26 11:33
< >
分享
所有回答(2)
0

定时更新下自己的库啊 不过会有延迟  同步不同时 如果要同时更新就不是你这边的事了

顾星河 | 园豆:7173 (大侠五级) | 2017-07-26 11:49

定时更新我的数据库,我的表格的数据是不要清空,这样就不会插入重复的数据,还是在入库的时候做了筛选再将数据写进数据库,不过这样的话, 我觉得会不很消耗资源

支持(0) 反对(0) 阿鸠 | 园豆:2 (初学一级) | 2017-07-26 15:59

@阿鸠: 有这么一个思路,针对于你拉取的用户信息只增不改的情况:每次拉取后记录一个时间,下次拉取的时候从这个时间点开始往后拉,以前拉取过的信息就不再重复进行拉取了;
  当然用户信息也会存在变更的时候,如果你这边无法得知接口那边数据的变更情况,就只能自己在这边做对比进行逐个更新了,关于资源消耗什么的,我觉得还好,写个作业每天晚上执行一下,要不了很长时间就能更新完毕,毕竟晚上网站的访问压力不大,弄个作业什么的还是轻而易举的

支持(0) 反对(0) 顾星河 | 园豆:7173 (大侠五级) | 2017-07-26 17:01

@冷星淡月: 数据的更新肯定不是只增不改的,如果逐条对比入库的话,效率真的很低,因为我的数据量很大。

支持(0) 反对(0) 阿鸠 | 园豆:2 (初学一级) | 2017-07-26 17:09

@阿鸠: 我猜接口那边什么时候改了数据你这边肯定是不知道,对吧,那么只能对比数据了,你说逐条对比效率低,因为数据量大,其实说白了就是觉得时间长了对吧,为什么时间长呢? 因为"逐条"!如果能逐批呢? 是吧,是不是想到了什么,对,多线程去处理! 数据量多单条对比更新当然慢,一个轮子没有四个轮子跑得快,这没毛病吧,现在的服务器开几个线程总可以的,还是大晚上执行,这不就快多了

支持(0) 反对(0) 顾星河 | 园豆:7173 (大侠五级) | 2017-07-26 17:14

@冷星淡月: 对 !!!但是php支持多线程????大神能不能详细指教你一下

支持(0) 反对(0) 阿鸠 | 园豆:2 (初学一级) | 2017-07-26 17:17

@阿鸠: 毕竟也是个后端语言怎会不支持多线程, 当然我不是搞PHP的,只能建议你去网上找找资料学习下,给你发一个链接 你参考参考
http://www.cnblogs.com/jackluo/p/3919168.html

支持(0) 反对(0) 顾星河 | 园豆:7173 (大侠五级) | 2017-07-26 17:22
0

接口加一个回调,在接口那边有改动就回调你的函数。如果没有回调,就只能做一个定时器,不断访问接口判断是否有改变了。

悟行 | 园豆:12559 (专家六级) | 2017-07-26 13:31

接口加一个回调是什么意思

支持(0) 反对(0) 阿鸠 | 园豆:2 (初学一级) | 2017-07-26 15:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册