php - a、b、c、d四个txt,比较bcd这三个txt有多少是在a中,这4个文件大约250M.
怪我咯
怪我咯 2017-05-16 13:07:52
0
3
459
  1. 规则如下:

自己测试过,设置了这两个ini_set('memory_limit', '-1');set_time_limit(0);,然后运行等了很久直接报500错误,求大神帮助!!!

怪我咯
怪我咯

走同样的路,发现不同的人生

Antworte allen(3)
仅有的幸福

数据很多。估计数据库的话容易死。单纯比对的话 先写哥脚本把数据存到redis里。a表的缓存key 是a.0 a.1 a.2 什么的,b.000000036什么的 后两个规则保持一直。导入之后 确定 a的数据总条数

写一个for循环

$redis= new Redis();
$Acount = 100000; //a的总数
$num  = 1;
$chkary = [1,2,3,4,5,6,7,8,9];//判断用的数组
for ($i=0;$i<=$Acount;$i++){
    $data = $redis->get('a.' . $i);
   if( $redis->exists('b.'.$data)){
       //存在 code
   }
   $num++;
   if(in_array(($Acount/$num),$chkary)){
       sleep(1); //防止卡死
   }
}
漂亮男人

可以写个脚本把四个文本的内容都缓存到Redis的4个集合里面,然后求交集,这样速度挺快的,不知道允不允许这样做?

给我你的怀抱

500错误是内存不够了吧,可以执行若干行就释放一下无用内存

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage