如何防止无限循环的php CPU承载过重?

我写了一只程序,专门在抓某个api 的所提供的数据。然而,为了防止每次insert新数据料后,就必被把旧的数据状态改掉。(不能一直用insert,因为有可能这次这个id进来的数据有四个,下一次有三笔,再下一次可能有五笔),所以我用了几个数组来纪录,比对,一但数据有不同的时候能写才数据库。

例如:

Do

{

Foreach(事件id)

{

Foreach(第一種數據) //然而這一種數據有一至三種不同

{

Foreach(第一種數據裡的小數據)

{

//以下是紀錄各數劇

If(!$m1[‘id’][‘第一種數劇的類別’][‘第一種數據裡小數劇key值’])

{

$m1[‘id’][‘第一種數劇的類別’][‘第一種數據裡小數劇key值’]=implode($tmp1); //$tmp都是紀錄數據的陣列

sqlInsert($tmp);

}

Else

{

If($m1[‘id’][‘第一種數劇的類別’][‘第一種數據裡小數劇key值’]) !=implode($tmp))

{

$m1[‘id’][‘第一種數劇的類別’][‘第一種數據裡小數劇key值’] = implode($tmp);

sqlInsert($tmp);

}

}

}

}

Foreach(第二種數據) //然而這一種數據有一至三種不同

{

Foreach(第二種數據裡的小數據)

{

//以下是紀錄各數劇

If(!$m2[‘id’][‘第二種數劇的類別’][‘第二種數據裡小數劇key值’])

{

$m2[‘id’][‘第二種數劇的類別’][‘第二種數據裡小數劇key值’]=implode($tmp1); //$tmp都是紀錄數據的陣列

sqlInsert($tmp1);

}

Else

{

If($m2[‘id’][‘第二種數劇的類別’][‘第二種數據裡小數劇key值’]) !=implode($tmp1))

{

$m2[‘id’][‘第二種數劇的類別’][‘第二種數據裡小數劇key值’] = implode($tmp1);

sqlInsert($tmp1);

}

}

}

}

Foreach(第三種數據) //這組數劇裡面不再有小數劇

{

//以下是紀錄各數劇

If(!$m3[‘id’][‘第三種數劇的類別’][‘empty’])

{

$m3[‘id’][‘第三種數劇的類別’][‘empty’]=implode($tmp2); //$tmp都是紀錄數據的陣列

sqlInsert($tmp2);

}

Else

{

If($m3[‘id’][‘第三種數劇的類別’][‘empty’]) !=implode($tmp2))

{

$m3[‘id’][‘第三種數劇的類別’][‘empty’] = implode($tmp2);

sqlInsert($tmp2);

}

}

}

//以下是紀錄事件本體id的狀態等等的資料

If(!$m4[‘id’][‘event’][‘empty’])

{

$m4[‘id’][‘event’][‘empty’]=implode($tmp5); //$tmp都是紀錄數據的陣列

sqlInsert($tmp2);

}

Else

{

If($m4[‘id’][‘event’][‘empty’]) !=implode($tmp5))

{

$m4[‘id’][‘event’][‘empty’] = implode($tmp5);

sqlInsert($tmp5);

}

}

}

//以下程式是執行 如果事件本體的id 不再提供資料時,unset($m1['id']~$m4['id'])

sleep(3);

}while(條件);

程序大约是这样的状况,但是约执行一天,主机的cpu 就会承载至100% , 且这样的程序,我约有四至五个线程要跑.....

每支程序约用四个arrays 三维数组来作「纪录」的动作,id可能会有0-15个

第一、二大类的数据约有1-10组的小数据。

这样的思考方式是正确的吗?或者有什么更有效率的执行方式?

p.s. sqlinsert 里的func 主要是 「更改上一笔数据的状态,再 insert一笔新的」。数据更新的时间约2秒 至 10分钟 不等. 经查并不是sql 的问题,而是php本身的承载就过重了

相关阅读:

使用spring的@Value注解出错

$.get如何返回获取的数据给外部变量

Gson库的引用

网页聊天,如何确定用户退出?

关于webpack代码分割功能

Chrome调试台映射网络资源到本地文件后,修改本地文件无效果?

MongoDB 倾向于将数据都放在一个 Collection 下吗?

Flask Web Development 第四章 Web表单 为什么要用form.name.data = ''

Python 能否终止对象的实例化过程

delphi 局域网内传输图片

有什么在 Java 平台上做而不能在 .net 平台上做,而相反呢?

如何实现下拉列表一级和二级分类容器的滚动?

js中正则表达式match方法的问题

PHP + Mysql + Redis 队列邮件

PHP:随机读取文件

小狼毫输入法文件weasel.yaml在哪里?

Java如何通过注解映射URL相应的action

服务器是否需要做成有状态的

如何对网站进行端到端测试

addEventListener 应该添加到 window 还是 document?

php承载,javascript,php_如何防止无限循环的php CPU承载过重?,javascript,php - phpStudy...相关推荐

  1. 文字/图片向上无限循环滚动

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 13岁女孩因发布JavaScript无限循环代码被捕

    据外媒报道,日本刈谷市警方最近逮捕了一名13岁的女学生,指控她在网上公告栏上在线分发恶意代码.这个所谓的恶意代码其实是一个恶作剧,它触发了JavaScript无限循环,在用户访问某个链接时显示&quo ...

  3. html js 无限循环,JavaScript For 循环

    JavaScript For 循环 循环在编程中用于自动执行重复性任务. 例如,假设我们要打印" Hello World" 10次.可以如下所示进行:document.write( ...

  4. JQuery图片无限循环滚动源码

    平常项目中经常用到图片循环滚动,所以就写些必要的CSS定位,JS基本算法,最后就封装成JQuery图片无限循环滚动插件类,其实本质上是li块无限循环滚动,li块里面不管是图片还是其它内容,都OK的. ...

  5. JavaScript Essentials:如何为循环而烦恼

    by Zell Liew 由Zell Liew JavaScript Essentials:如何为循环而烦恼 (JavaScript Essentials: how to wrap your head ...

  6. jQuery:无限循环两个或者多个事件 click / toggle between two functions

    插件: (function($) {$.fn.clickToggle = function(func1, func2) {var funcs = [func1, func2];this.data('t ...

  7. 打造一个丝滑般自动轮播无限循环Android库

    作者:一包纯牛奶 链接: https://juejin.im/post/5d6bce24f265da03db0790d1 本文由作者授权发布. 这里我把作者两篇文章合体了,主要是为了在项目功能介绍的基 ...

  8. CSS3中的animation属性实现无限循环的无缝滚动

    在页面中循环展示信息的功能之前一般是用js来实现的,那么用CSS3该如何实现实现呢 有时候在页面的某个模块中,需要无限循环的滚动一些消息.那么如果我们用js实现无缝衔接滚动的思路是什么呢(比如我们这个 ...

  9. 利用jQuery实现图片无限循环轮播(不借助于轮播插件)

    原来我主要是用Bootstrap框架或者swiper插件实现轮播图的功能,而这次是用jQuery来实现图片无限循环轮播! 用到的技术有:html.css.JavaScript(少).jQuery(主要 ...

最新文章

  1. 华为天才少年稚晖君自制硬萌机器人,开源5小时,GitHub收获317星!
  2. 面试必问的分布式相关内容(未完待续)
  3. 做网站应用应注意的那几点
  4. Exchange2007中创建收件人对象、通讯组和地址列表和客户端访问
  5. LAMP介绍,Apache安装细节过程
  6. java not found_java_home not found in your enviroment 问题解决方法
  7. JDK、Tomcat、Maven配置
  8. Spring之事件监听
  9. 无法保存关闭文件 苹果电脑 显示正在保存_??Linux文件编辑 - 给你骨质唱疏松
  10. mysql升级:rpm包安装升级
  11. golang java 对比_golang编程语言和java的性能对比
  12. 超市在线购物商城源码分享
  13. 粉笔画粉笔字体样式_20多种很棒的粉笔字体可供下载
  14. 软考中级-软件设计师涉及的知识点和笔记
  15. 第三篇:知其然,知其所以然-USB音频设备的开发过程
  16. 正弦函数的频谱图matlab,怎样用MATLAB画正弦函数以及怎样看频谱图?
  17. go语言中同一个package下的文件相互引用怎么做?
  18. 关于微软Bing搜索语言无法更改的问题
  19. winRE环境下使用xcopy时显示未找到文件
  20. ADI实验室电路:带抗混叠滤波器的宽带接收机

热门文章

  1. python元组操作_Python 列表和元组操作
  2. oracle二阶段事物,分布式事务 两阶段提交 (2PC)
  3. php抑制错误,PHP 行内错误抑制
  4. Oracle如何手工执行job,求助高手,JOB执行和手工执行执行结果不同,JOB执行不出来,手工却没问题...
  5. python中readlines_python中read() readline()以及readlines()用法
  6. 学生时代,我做过最有价值的事是什么?
  7. 一块电路板从“出生”到“成年”
  8. mysql 安装 utf8mb4_mysql 安装和修改编码(utf8mb4)
  9. 全志r11_全志R328 Demo开发板;全志R333开发板/核心板;全志R11开发板/核心板;全志R16开发板/方案设计...
  10. 10a大电流稳压芯片_一文教你秒懂LDO芯片电路设计的六大因素