网站建设资讯

NEWS

网站建设资讯

php读取大量数据,php数据抓取

php 如何解决读大量数据卡的情况

你写代码的时候注意 HTML格式 和CSS格式。不要把所有内容都写到同一个DIV中间,这样东西多的时候就会卡住。要分层次显示,另外碰到数据库查询文字非常多的你还可以使用AJAX 返回数据 这样HTML就可以很快的显示 显示完毕才去读数据库这样速度会快很多。至于楼上说的 缓存 数据库存储过程 可以参考一下,不过一般企业站不需要考虑。碰到大站在线100人以上的才会做。

创新互联是一家集网站建设,广饶企业网站建设,广饶品牌网站建设,网站定制,广饶网站建设报价,网络营销,网络优化,广饶网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

php curl 大量数据采集

这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)

参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。

因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)

不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。

如何解决PHP查询大量数据内存耗尽的问题

这个问题在PHP的官方网站上叫缓冲查询和非缓冲查询(Buffered and Unbuffered queries)。PHP的查询缺省模式是缓冲模式。也就是说,查询数据结果会一次全部提取到内存里供PHP程序处理。这样给了PHP程序额外的功能,比如说,计算行数,将指针指向某一行等。更重要的是程序可以对数据集反复进行二次查询和过滤等操作。但这种缓冲查询模式的缺陷就是消耗内存,也就是用空间换速度。

相对的,另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直到数据全部取完。

很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。

求 php 循环执行大量数据 解决办法。

你用网页的方式,让人点击,服务器采集,简直是弱爆了。每个人的点击循环1000次,来个100人同时点,你要用的是普通的虚拟机就不行了。

最好是换种方式实现,不要通过网页进行采集。

可以非常简单的在数据库的表,创建一个采集队列,后台执行一个crontab的计划任务,去完成队列里的采集任务。

PHP 读取多条数据库中数据

拿下面这段单独建个页面,改一下你的数据库名,表等信息试试。

table width="50%" border="0"

tr

tdID/td

tdID2/td

tdorder1/td

tdorder2/td

tdorder3/td

/tr

?php

//连接数据库

$conn=@ mysql_connect("服务器地址","用户名","密码") or die("连接数据库失败!");

mysql_select_db("数据库名",$conn) or die("连接数据库失败!");

mysql_query("set names 'GBK'");

//连接结束

//接收提交过来查询的ID

$id=$_POST["id"];

//查询数据库相关数据

$sql="select * from 数据表名 where ID2='".$id."' order by id desc";

$query=mysql_query($sql);

//循环输出

while($row=mysql_fetch_array($query)){

?

tr

td?php echo $row["ID"];?/td

td?php echo $row["ID2"];?/td

td?php echo $row["order1"];?/td

td?php echo $row["order2"];?/td

td?php echo $row["order3"];?/td

/tr

?php

}

?

/table

form name="form1" method="post" action=""

input type="text" name="id"

input type="submit" name="Submit" value="查询"

/form

如果用PHP赋值十万个变量数组(比如读取十万条mysql数据来用),做为后台管理脚本来运行会不会太耗系统资

你说的写文件是个思路。如果你只是要求某一个字段是唯一,可以把这个存在内存中,每次进行验证。然后把验证通过的数据写入文件,最后在统一从文件中读出来存入数据库。

但是又会出现个问题。如果你是10万条数据在文件里,你要是想用一个INSERT插入,那必须得先把这数据读到内存里,肯定也很慢,而且不稳定。如果你逐条读出插入,对数据库也是个消耗。不过你可以把数据拆散,比如每1000条插一次。


网页名称:php读取大量数据,php数据抓取
URL分享:http://cdweb.net/article/dscehjg.html