2017-06-09 13 views
0

サイトでは、Vimeo PHPライブラリ(https://github.com/vimeo/vimeo.php)を使用しています。Vimeo APIの使用とmodxでのキャッシュ応答

は現在、私は例えば、スニペット内のライブラリを呼んでいる。:

require_once("____/autoload.php"); 
$vimeo = new \Vimeo\Vimeo(____AuthKeys, etc.___); 
... 
$videos = $vimeo->request('/me/albums/____)['body']['data'] 
... 

しかし、これは必要以上にAPIへの道より多くの呼び出しを意味します...右?

Vimeoはレスポンスをキャッシュすることを推奨しますが、modxでこれを行う方法はわかりません。

私は最初の3行は一度だけ実行する必要が推測している、キャッシュされた...我々はVimeoのアカウントへの変更を(などの動画、アルバムを追加)

するための最良の方法何作るまでこれを達成する?

スニペットからスニペットに変更されるのは、$vimeo->request...部分のみです。スニペットの開始時にそれを持つ方法はありますか?

+0

getCache https://modx.com/extras/package/getcacheを使用できます。 –

答えて

0

あなたは、時間の長い期間のための完全な出力をキャッシュするgetCacheを使用することができますが、あなたはスニペット内のデータをキャッシュしたい場合、あなたはそのためmodCacheManagerを使用することができます。次のようになります。例えば

、:

require_once("____/autoload.php"); 
$vimeo = new \Vimeo\Vimeo(____AuthKeys, etc.___); 
... 
$cacheManager = $modx->getCacheManager(); 
$videos = $cacheManager->get('vimeo_videos'); 
if (empty($videos)) { 
    $videos = $vimeo->request('/me/albums/____')['body']['data'] 
    $cacheManager->set('vimeo_videos', $videos, 3600); 
} 
// Process $videos further 

(セット・コールで3600点に注意してください)1時間分のデータをキャッシュします。

関連する問題