ホームページ  >  記事  >  php教程  >  PHP データベース キャッシュ: PHP ファイル キャッシュ データ

PHP データベース キャッシュ: PHP ファイル キャッシュ データ

WBOY
WBOYオリジナル
2016-06-21 08:50:36923ブラウズ

インターネットカフェで閲覧していたとき、ページに動画検索機能 (ユーザー入力) があるため
この機能は静的にすることができないため、データベースを動的に使用する場合にのみ動的にすることができます。サーバーの負荷は大きな課題をもたらします
したがって、データをキャッシュする方法のみを使用できます。
データ キャッシュの形式は次のとおりです。
1. これについては、誰もが Memcached を思い浮かべると思います。 .memcached は、高性能の分散メモリ キャッシュ サーバーです。 一般的な使用目的は、データベース クエリ結果をキャッシュすることでデータベース アクセスの数を減らし、動的 ​​Web アプリケーションの速度とスケーラビリティを向上させることです。
2. ファイルを使用してデータをキャッシュします。key=>value の形式でデータをファイルに保存します。ここでのキーはファイル名の一意性を確保する必要があります。
キャッシュを設定します。ファイルの時間が古い場合は、データベースからデータを取得してファイルに保存します。
1. キャッシュ データ
2. data
3. キャッシュされたデータが存在するかどうかを確認します
4. 古いキャッシュされたデータを削除します
6. すべてのキャッシュされたデータを削除します
class Inc_FileCache{
$cacheTime = 3600; //デフォルトのキャッシュ時間
private $cacheDir = CACHE_DIR; //キャッシュの絶対パス
private $md5 = true //キーを暗号化するかどうか
private $suffix = ".php "; //ファイルのサフィックスを設定します
public function __construct($config){
if( is_array( $config ) ){
foreach( $config as $key=>$val ){
$this->$key = $ val;
}
}
}
//キャッシュを設定
public function set($key,$val,$leftTime=null){
$key = $this-> ;md5($key) : $key;
$leftTime = $leftTime ? $leftTime : $this->cacheTime;
!file_exists($this->) ;cacheDir) && mkdir($this- >cacheDir,0777);
$file = $this->cacheDir.'/'.$key.$this->suffix;
$val = Serialize ($val);
@ file_put_contents($file,$val) または $this->error(__line__,"ファイルの書き込みに失敗しました");
@chmod($file,0777) または $this->gt ;error(__line__,"ファイルのアクセス許可の設定に失敗しました");
@touch($file,time()+$leftTime) または $this->error(__line__,"ファイル時間の変更に失敗しました");
}
//キャッシュを取得
public function get($key){
$this->clear();
if( $this->>isset($key) ){
$key_md5 = $this->md5 ? md5($key) : $key;
$file = $this->cacheDir.'/'.$key_md5.$this->suffix;
$val = file_get_contents($file ); この記事へのリンク http://www.cxybl.com/html/wlbc/Php/20121222/35116.html



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。