ホームページ > バックエンド開発 > PHPチュートリアル > PHPキャッシュクラスのコード PHPデータキャッシュクラス

PHPキャッシュクラスのコード PHPデータキャッシュクラス

WBOY
リリース: 2016-07-29 08:42:22
オリジナル
1048 人が閲覧しました

アクセス数が多いとデータベースに大きな負荷がかかるため、頻繁に変更されないコンテンツに対して適切な PHP データ キャッシュを実行する必要があると思います。単純な PHP の「ファイル キャッシュ」クラスを作成しました。誰にとっても役立ちます。
考え方は次のとおりです:
一般的な変数の場合は、変数を PHP 言語の形式に変更してファイルに書き込むだけで、キャッシュをロードするのと同じになります。
配列型の変数の場合は、配列を変換します。 PHP 言語の配列の文字列をファイルに書き込みます。キャッシュのロードにかかる時間は、キャッシュ ファイルの作成時刻を取得し、現在時刻と比較することで制御します。更新時刻が来たら、キャッシュを直接読み取り、データベースにクエリを実行してデータを返し、キャッシュを更新します。 (まだ実装されていません)
以下は私の php-kcache クラス (php_kcache_class.php) です:

注: キャッシュ文字列の場合は、エスケープ文字に '' をもう 1 つ追加してください。つまり、「n」は次のようになります。 "\n" として書かれます。

コードをコピーします コードは次のとおりです:


/*
//php-kcache class v_0.1
//著者: kangzj
//メール: kangzj@mail.bnu.edu.cn
//ブログ: http://kangzj.net.ru
/ /作者は、このプログラムにバグがないことを保証せず、このプログラムの使用によって生じた問題については一切の責任を負いません
//。
*/
class php_kcache {
//相対ディレクトリまたは絶対ディレクトリ、最後に「/」を追加しないでください
var $cache_dir = './cache'
function set_cache ($name . $value = $value;
$str = "$$name = '$value';";
}else{
$str = "$$name = " . $this->arrayeval($value ) . ';
} $ $ end = "n? & Gt;"; $cache_file = $this-> ; キャッシュエクステント;
if ($ fp = @fopen ($ キャッシュ_ファイル, 'wb'))
fclose ($ fp); {O Echo $ キャッシュ_ファイル; , $level = 0) {(if (! IS_ARAY ($ 配列)) {
Return "'". $ Array. "'";
}
$ space = ''; $level; $i++) {
$space .= "t ";
foreach( $array as $key => $val) {
$key = is_string($key) ? ''.addcslashes($key, ''\').''' $key; ( $val) && (!preg_match("/^-?[1-9]d*$/", $val) || strlen($val) > 12) '''.addcslashes($val, ' ' \').''' : $val; else {
$evaluate .= "$comma$key =>

} $evaluate .= "n$space)"
return $evaluate
}



最も単純な呼び出しメソッド:



コードをコピーします

コードは次のとおりです:


include './php_kcache_class.php';
$pc = new php_kcache;
$pc->set_cache('a', addslashes) ($a));

複雑な呼び出しメソッド (プラスキャッシュ時間制御) - 後で追加されます…続きます…
以上、phpキャッシュクラスのコードとphpデータキャッシュクラスを内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート