今日のウェブサイトは一般にデータベースを扱う必要があり、アクセス数が多いとデータベースに大きな負荷がかかります。一部の動的ページの実行結果をキャッシュし、次回アクセスする際にキャッシュに直接アクセスすることでデータベースへの負担を軽減できます。サーバーの応答速度も向上します。キャッシュされた結果は、外部メモリまたはメモリ内に保存できます。次回ページにアクセスしたときに、最後の結果が外部メモリ (メモリ) から直接読み取られます。
[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 "".$userInfo['name']." ";
echo "".$userInfo['address']." ";
echo "".$userInfo['email']." ";
「 」をエコーします。
}
$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 "
名前 住所 メール ";
//取得した情報を出力します
while($userInfo = mysql_fetch_assoc($resource)){
echo "";
echo "".$userInfo['name']." ";
echo "".$userInfo['address']." ";
echo "".$userInfo['email']." ";
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 も単純な単一テーブルのクエリであるため、テーブルに多数のレコードがある場合、または複数のテーブルのクエリの実行時間は長くなります。キャッシュによりデータベースのアクセス数が減り、応答時間が短縮されますが、キャッシュはすべてのページに適しているわけではありません。一部のページでは、アクセスするたびに表示内容が変更される場合がありますが、そのようなページでは明らかにキャッシュを使用できません。キャッシュは、めったに変更されないページに適しています。
http://www.bkjia.com/PHPjc/477555.html www.bkjia.com 本当 http://www.bkjia.com/PHPjc/477555.html 技術記事 現在の Web サイトは通常、データベースを処理する必要があります。アクセス数が多いと、データベースに大きな負荷がかかります。次回のためにいくつかの動的ページの実行結果をキャッシュします...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
2024-10-22 09:46:29
2024-10-13 13:53:41
2024-10-12 12:15:51
2024-10-11 22:47:31
2024-10-11 19:36:51
2024-10-11 15:50:41
2024-10-11 15:07:41
2024-10-11 14:21:21
2024-10-11 12:59:11
2024-10-11 12:17:31