ホームページ  >  記事  >  バックエンド開発  >  簡潔な PHP キャッシュ コード、非常にシンプルな PHP チュートリアル

簡潔な PHP キャッシュ コード、非常にシンプルな PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:58:25946ブラウズ

PHPのキャッシュクラスについてはインターネット上にたくさんの情報がありますが、ニーズに合わせた機能を備えながらも非常にシンプルなクラスは私が見た中でおそらくこのクラスでしょう。早速、コードを見てみましょう。

使用説明:

1. インスタンス化

$cache = new Cache();

2. キャッシュ時間とキャッシュディレクトリを設定します

$cache = new Cache(60, '/any_other_path/');

最初のパラメータはキャッシュ秒数、2 番目のパラメータはキャッシュ パスで、必要に応じて設定できます。
デフォルトでは、キャッシュ時間は 3600 秒で、キャッシュ ディレクトリは、cache/

3. 読み取りキャッシュ

$value = $cache->get('data_key');

4. キャッシュを書き込む

$value = $cache->put('data_key', 'data_value');

完全な例:

$cache = new Cache();

//キャッシュからキー値 $key のデータを読み取ります
$values = $cache->get($key); / キャッシュされたデータがない場合
if ($values == false) {
//ここにコードを挿入...
//キー値のデータを書き込む $key
$cache->put($key, $values);
} else {
//ここにコードを挿入します...
}

Cache.class.php

class Cache {
private $cache_path;//キャッシュのパス
private $cache_expire;//キャッシュが期限切れになる秒数

//キャッシュコンストラクター、オプションで期限切れ時間とキャッシュパス
public function Cache($exp_time=3600,$path="cache/"){
$this->cache_expire=$exp_time;
}

/ / キャッシュのファイル名を返します
private function fileName($key){
return $this->cache_path.md5($key)
}

// 指定されたデータ、$key== を使用して新しいキャッシュ ファイルを作成しますキャッシュの名前、データを保存する情報/値
public function put($key, $data){
$values = Serialize($data);
$filename = $this->fileName($ key);
$file = fopen($filename, 'w');
if ($file){//ファイル
fwrite($file, $values);
else return false ;

//指定されたキーのキャッシュを返します
public function get($key){
$filename = $this->fileName($key)
if (!file_exists($filename); || !is_readable ($filename)){// キャッシュを読み取れません
return false
if ( time() < (filemtime($filename) + $this->cache_expire) ) {//有効期限が切れていないキーのキャッシュ
$file = fopen($filename, "r");// データ ファイルを読み取ります
if ($file){// ファイルを開くことができます
$data = fread($file, filesize( $filename)) ;
fclose($file);//値を返します
}
else return false;// 有効期限が切れたので新しいものを作成する必要があります
}
}
?
この記事の出典: http://www.mangguo.org/




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

www.bkjia.com

tru​​e

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

技術記事

PHP キャッシュ クラスに関する情報はインターネット上にたくさんありますが、ニーズに合わせた機能を備えながらも非常にシンプルなクラスは、私がこれまで見た中でおそらくこのクラスでしょう。早速、コードを見てみましょう。 使用説明書:...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。