php承载,javascript,php_如何防止无限循环的php CPU承载过重?,javascript,php - phpStudy...
如何防止无限循环的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...相关推荐
- 文字/图片向上无限循环滚动
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 13岁女孩因发布JavaScript无限循环代码被捕
据外媒报道,日本刈谷市警方最近逮捕了一名13岁的女学生,指控她在网上公告栏上在线分发恶意代码.这个所谓的恶意代码其实是一个恶作剧,它触发了JavaScript无限循环,在用户访问某个链接时显示&quo ...
- html js 无限循环,JavaScript For 循环
JavaScript For 循环 循环在编程中用于自动执行重复性任务. 例如,假设我们要打印" Hello World" 10次.可以如下所示进行:document.write( ...
- JQuery图片无限循环滚动源码
平常项目中经常用到图片循环滚动,所以就写些必要的CSS定位,JS基本算法,最后就封装成JQuery图片无限循环滚动插件类,其实本质上是li块无限循环滚动,li块里面不管是图片还是其它内容,都OK的. ...
- JavaScript Essentials:如何为循环而烦恼
by Zell Liew 由Zell Liew JavaScript Essentials:如何为循环而烦恼 (JavaScript Essentials: how to wrap your head ...
- jQuery:无限循环两个或者多个事件 click / toggle between two functions
插件: (function($) {$.fn.clickToggle = function(func1, func2) {var funcs = [func1, func2];this.data('t ...
- 打造一个丝滑般自动轮播无限循环Android库
作者:一包纯牛奶 链接: https://juejin.im/post/5d6bce24f265da03db0790d1 本文由作者授权发布. 这里我把作者两篇文章合体了,主要是为了在项目功能介绍的基 ...
- CSS3中的animation属性实现无限循环的无缝滚动
在页面中循环展示信息的功能之前一般是用js来实现的,那么用CSS3该如何实现实现呢 有时候在页面的某个模块中,需要无限循环的滚动一些消息.那么如果我们用js实现无缝衔接滚动的思路是什么呢(比如我们这个 ...
- 利用jQuery实现图片无限循环轮播(不借助于轮播插件)
原来我主要是用Bootstrap框架或者swiper插件实现轮播图的功能,而这次是用jQuery来实现图片无限循环轮播! 用到的技术有:html.css.JavaScript(少).jQuery(主要 ...
最新文章
- 华为天才少年稚晖君自制硬萌机器人,开源5小时,GitHub收获317星!
- 面试必问的分布式相关内容(未完待续)
- 做网站应用应注意的那几点
- Exchange2007中创建收件人对象、通讯组和地址列表和客户端访问
- LAMP介绍,Apache安装细节过程
- java not found_java_home not found in your enviroment 问题解决方法
- JDK、Tomcat、Maven配置
- Spring之事件监听
- 无法保存关闭文件 苹果电脑 显示正在保存_??Linux文件编辑 - 给你骨质唱疏松
- mysql升级:rpm包安装升级
- golang java 对比_golang编程语言和java的性能对比
- 超市在线购物商城源码分享
- 粉笔画粉笔字体样式_20多种很棒的粉笔字体可供下载
- 软考中级-软件设计师涉及的知识点和笔记
- 第三篇:知其然,知其所以然-USB音频设备的开发过程
- 正弦函数的频谱图matlab,怎样用MATLAB画正弦函数以及怎样看频谱图?
- go语言中同一个package下的文件相互引用怎么做?
- 关于微软Bing搜索语言无法更改的问题
- winRE环境下使用xcopy时显示未找到文件
- ADI实验室电路:带抗混叠滤波器的宽带接收机
热门文章
- python元组操作_Python 列表和元组操作
- oracle二阶段事物,分布式事务 两阶段提交 (2PC)
- php抑制错误,PHP 行内错误抑制
- Oracle如何手工执行job,求助高手,JOB执行和手工执行执行结果不同,JOB执行不出来,手工却没问题...
- python中readlines_python中read() readline()以及readlines()用法
- 学生时代,我做过最有价值的事是什么?
- 一块电路板从“出生”到“成年”
- mysql 安装 utf8mb4_mysql 安装和修改编码(utf8mb4)
- 全志r11_全志R328 Demo开发板;全志R333开发板/核心板;全志R11开发板/核心板;全志R16开发板/方案设计...
- 10a大电流稳压芯片_一文教你秒懂LDO芯片电路设计的六大因素