PHP ページの静的実装_PHP チュートリアル

WBOY
リリース: 2016-07-14 10:10:04
オリジナル
1150 人が閲覧しました

今日のウェブサイトは一般にデータベースを扱う必要があり、アクセス数が多いとデータベースに大きな負荷がかかります。一部の動的ページの実行結果をキャッシュし、次回アクセスする際にキャッシュに直接アクセスすることでデータベースへの負担を軽減できます。サーバーの応答速度も向上します。キャッシュされた結果は、外部メモリまたはメモリ内に保存できます。次回ページにアクセスしたときに、最後の結果が外部メモリ (メモリ) から直接読み取られます。


[php]

// まずキャッシュファイルを確認してください
If(file_exists("static.html")){
//キャッシュ時間は 3 分です
If(time()-filemtime("static.html")<60*3){
//静的ファイルの内容をクライアントに返します
$start_time = microtime(); Echo "静的ファイルから読み取られたデータを読み取りました:"。"& Lt; br/& gt;"; echo file_get_contents("static.html"); $ END_TIME = マイクロタイム (); echo "静的ファイルの使用時間:".($end_time-$start_time); 出る
}
}
//最初のアクセスである場合、または最後のキャッシュ時間が 3 分を超えている場合は、データベースからデータを読み取ります
$host = "127.0.0.1"; $user = "ルート"; $パスワード = "123456"; // 記録開始時刻
$start_time = マイクロタイム(); Mysql_connect($host,$user,$password); Mysql_select_db("mydb"); Mysql_query("セット名 utf8");
$sql = "ユーザーから名前、住所、メールアドレスを選択"; $resource = mysql_query($sql); echo "データベースからデータを読み取りました:
"; Ob_start();//出力バッファをオープンします
echo "

";
//取得した情報を出力します
While($userInfo = mysql_fetch_assoc($resource)){
「」をエコーし​​ます。 echo ""; echo ""; echo ""; 「」をエコーし​​ます。 }
$end_time=マイクロタイム(); $str=ob_get_contents();//バッファの内容を取得します
ob_end_flush(); echo "データベースからデータを読み取る時間:".($end_time-$start_time)
File_put_contents("static.html",$str); ?>


// まずキャッシュファイルを確認してください
if(file_exists("static.html")){
//キャッシュ時間は3分です
if(time()-filemtime("static.html")<60*3){
//静的ファイルの内容をクライアントに返します
$start_time = microtime();
echo "静的ファイルからデータを読み取りました:"."
";
echo file_get_contents("static.html");
$end_time = microtime();
echo "静的ファイルの使用時間:".($end_time-$start_time);
終了します;
}
}
//初回アクセス、または最後のキャッシュ時間が 3 分を超える場合は、データベースからデータを読み取ります
$host = "127.0.0.1";
$user = "ルート";
$password = "123456";
// 開始時刻を記録します
$start_time = microtime();
mysql_connect($host,$user,$password);
mysql_select_db("mydb");
mysql_query("セット名 utf8");

$sql = "ユーザーから名前、住所、メールアドレスを選択";
$resource = mysql_query($sql);
echo "データベースからデータを読み取りました:
";
ob_start();//出力バッファをオープンする
echo "

名前住所メール
".$userInfo['name']."".$userInfo['address']."".$userInfo['email']."
";
//取得した情報を出力します
while($userInfo = mysql_fetch_assoc($resource)){
echo "";
echo "";
echo "";
echo "";
echo "";
}
$end_time=microtime();
$str=ob_get_contents();//バッファの内容を取得します
ob_end_flush();
echo "データベースからデータを読み取る時間:".($end_time-$start_time);
file_put_contents("static.html",$str);
?>
users テーブルには、Apache サービスを使用する 3 つのレコードがあります。テスト結果は次のとおりです:

データベースからデータを読み取る平均実行時間は: 約 0.0008041 秒です

キャッシュされたファイルを直接読み取る平均実行時間は: 0.0000475

データベースには 3 つのレコードしかなく、SQL も単純な単一テーブルのクエリであるため、テーブルに多数のレコードがある場合、または複数のテーブルのクエリの実行時間は長くなります。キャッシュによりデータベースのアクセス数が減り、応答時間が短縮されますが、キャッシュはすべてのページに適しているわけではありません。一部のページでは、アクセスするたびに表示内容が変更される場合がありますが、そのようなページでは明らかにキャッシュを使用できません。キャッシュは、めったに変更されないページに適しています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/477555.html技術記事現在の Web サイトは通常、データベースを処理する必要があります。アクセス数が多いと、データベースに大きな負荷がかかります。次回のためにいくつかの動的ページの実行結果をキャッシュします...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!
名前住所メール
".$userInfo['name']."".$userInfo['address']."".$userInfo['email']."