この記事の例では、PHP キャッシュ統合ライブラリ phpFastCache の使用方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
phpFastCache は、既存のプロジェクトに簡単に統合できる単純な PHP ファイルのみを提供するオープンソースの PHP キャッシュ ライブラリです: apc、memcache、memcached、wincache、files、pdo、mpdo など。キャッシュの有効期間は、シンプルな API を通じて定義できます。
// phpFastCache は、「apc」、「memcache」、「memcached」、「wincache」、「files」、「sqlite」、「xcache」をサポートします
// キャッシュ システムを変更するときにコードを変更する必要はありません。あるいは、単純に自動のままにします
。
$cache = phpFastCache();
// クラス、関数、PHP ページ内
// 最初にキャッシュからの取得を試みます。 product_page = あなたのアイデンティティキーワード
$products = $cache->get("product_page");
if($products == null) {
$products = あなたの DB クエリ || GET_PRODUCTS_FUNCTION;
// 600 秒 = 10 分以内に商品をキャッシュに設定します
$cache->set("product_page", $products,600);
}
// コンテンツ $products をここに出力します
$cache = phpFastCache("memcached");
// まずキャッシュから取得してみます。
$results = $cache->get("identity_keyword")
if($results == null) {
$results = cURL->get("http://www.youtube.com/api/json/url/keyword/page");
// キャッシュに書き込み、次回 API 呼び出しを保存します
$cache->set("identity_keyword", $results, 3600*24);
}
foreach($results as $video) {
// コンテンツをここに出力します
}
ページ全体のキャッシュ
// キーワード = Webpage_URL
$keyword_webpage = md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['QUERY_STRING']);
$html = __c("ファイル")->get($keyword_webpage);
if($html == null) {
ob_start();
/*
すべてのコードはここにあります
ページ、DB クエリなど何でもレンダリングします
*/
// HTML ウェブページを取得します
$html = ob_get_contents();
// 30 分間キャッシュに保存
__c("files")->set($keyword_webpage,$html, 1800);
}
エコー $html;
ウィジェットキャッシュ
$html = $cache->widget_1;
if($html == null) {
$html = ページをレンダリング || "Hello World";
// 30 分間キャッシュに保存
$cache->widget_1 = array($html, 1800);
}
$html をエコーまたは返す;
複数のキャッシュを同時に使用する
$cache1 = phpFastCache();
$cache2 = __c("memcache");
$server = array(array("127.0.0.1",11211,100), array("128.5.1.3",11215,80));
$cache2->option("server", $server);
$cache3 = 新しい phpFastCache("apc");
// 書き方は?
$cache1->set("キーワード1", "文字列|数値|配列|オブジェクト", 300);
$cache2->keyword2 = array("ここに何か", 600);
__c()->キーワード3 = array("配列|オブジェクト", 3600*24);
// 読み方は?
$data = $cache1->get("キーワード1");
$data = $cache2->キーワード2;
$data = __c()->キーワード3;
$data = __c()->get("キーワード4");
// どのキャッシュ方法でも自由に移動できます
$cache1 = phpFastCache("ファイル");
$cache1->set("キーワード1", $value, $time);
$cache1->memcache->set("keyword1", $value, $time);
$cache1->apc->set("whatever", $value, 300);
$cache2 = __c("apc");
$cache2->keyword1 = array("とてもクール", 300);
$cache2->files->keyword1 = array("そうそう!", 600);
$data = __c("memcache")->get("keyword1");
$data = __c("ファイル")->get("キーワード2");
$data = __c()->キーワード3;
// 複数?問題ありません
$list = $cache1->getMulti(array("key1","key2","key3"));
$cache2->setMulti(array("key1","value1", 300),
配列("キー2","値2", 600),
配列("キー3","値3", 1800),
);
$list = $cache1->apc->getMulti(array("key1","key2","key3"));
__c()->memcache->getMulti(array("a","b","c"));
//もっと欲しいですか?ソースコードでドキュメントをチェックしてください
ここで説明されている大規模な PHP プログラムの設計が役立つことを望みます。