PHPファイルキャッシュクラス
3231 ワード
最近プロジェクトデータベースの量はますます大きくなって、直接DBを調べる方式はすでに需要を満たすことができなくて、既成のキャッシュツールはmemcached、redisがあって、しかし今日自分でファイルキャッシュクラスを書いて、わずか数行のコードは需要を満たすことができます.コードは次のとおりです.
Class FileCache{
Public function cache($filename, $expire, $table, $sql){
// ,
if (file_exists($filename)) {
// ,
if ((time() - filemtime($filename)) > $expire) {
// DB
// ,
$data = array('table' => $table, 'sql' => $sql);
file_put_contents($filename, serialize($data));
return $data;
}else{
return unserialize(file_get_contents($filename));
}
}else{
// DB
// ,
$data = array('table' => $table, 'sql' => $sql);
file_put_contents($filename, serialize($data));
return $data;
}
}
}
$table = 'user';
$sql = 'select * from user';
$cache = new FileCache;
$text = $cache->cache('cache/cache_2', 3, $table, $sql);
print_r($text);