ホームページ >バックエンド開発 >PHPチュートリアル >質問させてください。次のコードのパフォーマンスを最適化する方法はありますか?

質問させてください。次のコードのパフォーマンスを最適化する方法はありますか?

WBOY
WBOYオリジナル
2016-06-13 13:40:56900ブラウズ

次のコードのパフォーマンスを最適化する方法はありますか?
は、いくつかの宝くじデータを収集し、
によって正しい結果配列 ($result) が取得されました。マッチング
ただし、速度が少し遅いので、速度を最適化する方法がないか専門家に相談したいと思います。

コードは次のとおりです:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$str = file_get_contents('http://baidu.lehecai.com/lottery/draw/?agentId=5555');
preg_match('/<table cellpadding="0" cellspacing="0" class="kj_tab">(.*)<\/table>/isU', $str, $strs);
preg_match_all('/(<tr>|<tr[^>]*>)(.*)<\/tr>/isU', $strs[0] , $output );
foreach($output[2] as $value){
    preg_match_all('/(<td>|<td[^>]*>)(.*)<\/td>/isU',$value ,$va);
    $result[] = $va[2];
}

for($i = 2, $size =count($result); $i < $size ; $i++){
    preg_match_all('/<a[^>]* href="([^"]*)"[^>]*>(.*)<\/a>/isU', $result[$i][0], $href);
    preg_match_all('/(<a[^>]*>|<span[^>]*>)(.*)(<\/a>|<\/span>)/isU', $result[$i][3], $matches);
    $result[$i][0] = "http://baidu.lehecai.com/".$href[1][0];
    $result[$i][3] = $matches[2];
}

//preg_match_all('/<a[^>]*>(.*)<\/a>/isU', $result[3][3][3], $matches); 
//$result[3][3][3] = preg_replace("/[\s]+/si","",$matches[1][0]);
$result[3][3][3] = preg_replace("/[\s]+/si","",$result[3][3][3]);
$result[3][3][3] = preg_replace("/\(.*\)/si","",$result[3][3][3]);
//echo "<pre class="brush:php;toolbar:false">"; print_r($result);exit();

/*
 * $result 说明   $result[$i][3] 为号码数 ; $result[$i][0] 为连接  ; $result[$i][1]  为开奖期数 ;
 * $i的说明如下表 :
 * 2:双色球
 * 3:福彩3D
 * 4:七乐彩
 * 5:华东15选5
 * 6:东方6+1
 * 8:大乐透
 * 9:排列三
 * 10:排列五
 * 11:七星彩
 * 12:22选5
 * 13:14场胜负彩
 * 14:任选9场
 * 15:4场进球彩
 * 16:6场半全场
 * 
 */



------解決策----- -- ---------------
最適化する方法はありません。サーバーに置くだけ
------解決策------------------
回収が遅れていると思われます。その背後にある通常の部分をコメントアウトしてみてください。
もちろん、ajax リクエストサーバーもキャッシュに時間がかかります。
------解決策------------------
curl に変更して改善されるかどうかを確認しますが、これは自分のネットワーク CPU の処理能力だけでなく、相手の Web サイトの対応速度にも関係すると思います。
------解決策------------------
キャッシュ!
抽選はリアルタイムではありません
毎日抽選する予定であっても、1分に1回抽選されます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。