API利用などで通信回数を減らしたい場合などに利用すると便利。
*APCの利用 [#s95317ad]
[[APC:http://jp.php.net/apc]]
$url = 'http://example.com/api/';
$xml = apc_fetch($url); // URLをキーとし、キャッシュから保存されてるXMLを取得
/** キャッシュが無い場合 **/
if ($xml === FALSE) {
$xml = file_get_contents($url); // 新たにAPIからXMLを取得
apc_store($url, $xml, 60); // そのXMLを、URLをキーとして60秒保存
}
**PEAR::Cache_Liteの利用 [#y5bf60e4]
[[Cache_Lite:http://pear.php.net/manual/ja/package.caching.cache-lite.php]]
require_once('Cache/Lite.php');
$url = 'http://example.com/api/';
$options = array(
'cacheDir' => '/tmp/'
, 'lifeTime' => 60 // 60秒保存
);
$cache = new Cache_Lite($options);
$xml = $cache->get($key); // URLをキーとし、キャッシュから保存されてるXMLを取得
/** キャッシュが無い場合 **/
if ( $xml === false ) {
if ($xml === FALSE) {
$xml = file_get_contents($url); // 新たにAPIからXMLを取得
$cache->save($xml, $key); // そのXMLを、URLをキーとして保存
}