ホームページ >バックエンド開発 >PHPチュートリアル >PHP キャッシュ テクノロジの詳細な説明_PHP チュートリアル

PHP キャッシュ テクノロジの詳細な説明_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:52:52893ブラウズ

1. はじめに

PHP は、近年登場した Web デザイン スクリプト言語であり、そのパワーと拡張性により、mssql を変換する場合、従来の ASP Web サイトと比較して、速度の面で絶対的な利点があります。たとえば、php では 60,000 個のデータを処理するのに 40 秒かかりますが、ASP では 2 分もかかりませんが、Web サイトのデータが増えるにつれて、データを削除する必要がなくなりました。ファイルや特定のメモリ アドレスなどの他の場所から毎回取得できます。これは、キャッシュ テクノロジとも呼ばれる PHP のキャッシュ テクノロジです。
2. 詳細な分析

一般的に、キャッシュの目的は、アクセスを高速化するためにデータを 1 か所に置くことです。メモリが最も高速であることは間違いありませんが、数百 M のデータをメモリに保存できるでしょうか? もちろん、これは非現実的な場合もあります。たとえば、ob_start() キャッシュ ページがオンになっている場合、ページのコンテンツは、ページ出力が自動的にクリアされるまで、または返されるまで、ファイル ヘッダーを送信する前にメモリにキャッシュされます。 ob_get_contents を削除するか、 ob_end_clean display によってクリアされます。これは静的ページの生成にうまく利用でき、テンプレートにうまく反映できます。この記事では、PHP による静的ページの生成について詳しく説明しています。しかし、それは一時的なものであり、問​​題を解決する良い方法ではありません。
さらに、ASP にはパブリック パラメータを保存できるオブジェクト アプリケーションがありますが、これも少しキャッシュされていますが、ASP.NET では開発者がそのようなオブジェクトを作成しているのをこれまで見たことがありません。ページ キャッシュ テクノロジー ビューステートを使用しており、キャッシュはファイルの関連付けです (必ずしも正確であるとは限りません)。ファイルが変更されずにタイムアウトしない場合 (注 1)、キャッシュが読み取られます。結果が返されます。これがアイデアです。このソースコードを見てください。
クラスキャッシュ{
/*
クラス名: キャッシュ
説明: データをキャッシュするための制御、$cache_out_time はキャッシュの日付タイムアウトを保存する配列です。
バージョン: 1.0
作者: 老農場cjjer
最終更新日:2006-2-26
著者URL: http://www.cjjer.com
*/
プライベート $cache_dir;
private $expireTime=180;//キャッシュ時間は60秒です
関数 __construct($cache_dirname){
if(!@is_dir($cache_dirname)){
if(!@mkdir($cache_dirname,0777)){
$this->warn('キャッシュ ファイルが存在しないため作成できません。手動で作成する必要があります。');
false を返します;
}
}
$this->cache_dir = $cache_dirname;
}
関数 __destruct(){
echo 'キャッシュクラスバイバイ。';
}

関数 get_url() {
if (!isset($_SERVER['REQUEST_URI'])) {
$url = $_SERVER['REQUEST_URI'];
}その他{
$url = $_SERVER['script_NAME'];
$url .= (!empty($_SERVER['QUERY_STRING'])) '?' }

$url を返します;
}

関数警告($errorstring){
echo "エラーが発生しました:

".$errorstring."
";
}

関数cache_page($pageurl,$pagedata){
if(!$fso=fopen($pageurl,'w')){
$this->warns('キャッシュ ファイルを開けません。');//trigger_error
false を返します;
}
if(!flock($fso,LOCK_EX)){//LOCK_NB、排他ロック
$this->warns('キャッシュ ファイルをロックできません。');//trigger_error
false を返します;
}
if(!fwrite($fso,$pagedata)){//バイトストリームを書き込み、シリアル化して他の形式を書き込みます
$this->warns('キャッシュ ファイルに書き込めません。');//trigger_error
false を返します;
}
flock($fso,LOCK_UN);//ロックを解除します
fclose($fso);
true を返します;
}

関数display_cache($cacheFile){
if(!file_exists($cacheFile)){



http://www.bkjia.com/PHPjc/632443.html

www.bkjia.com

http://www.bkjia.com/PHPjc/632443.html技術記事 1. 近年登場した Web デザイン スクリプト言語である PHP の紹介。PHP は、そのパワーと拡張性により、従来の ASP Web サイトと比較して、近年大幅な進歩を遂げています。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。