まず、スクリプトにキャッシュを追加します 、Zend_Feed
およびZend_Cache
一緒に-または、現在の世代のスクリプトをZend_Cache
でラップします 。
生涯でキャッシュを設定するだけです:
$frontendOptions = array(
'lifetime' => 7200, // cache lifetime of 2 hours
'automatic_serialization' => true
);
次に、キャッシュがまだ有効かどうかを確認します。
if(!$feed = $cache->load('myfeed')) {
//generate feed
$cache->save($feed, 'myfeed');
}
//output $feed
RSSをどのように作成するかはわかりませんが、配列構造をZend_Feed
にインポートします
:
$rssFeedFromArray = Zend_Feed::importArray($array, 'rss');
もちろん、最善の方法 現在のフィードジェネレータを使用して、出力をファイルに保存するだけの場合もあります。 。そのファイルをRSSフィードとして使用してから、cron / web hooks / queue/whateverを使用して静的ファイルを生成します。これは、生成スクリプトにキャッシュを実行させるよりも簡単で、使用するリソースも少なくなります。
//feedGen.php
//may require some output buffering if the feed generator outputs directly
$output = $myFeedGenerator->output();
file_put_contents('feed.rss', $output);
これで、フィードリンクは/feed.rss
になります。 、そしてfeedGen.php
を実行するだけです 更新する必要があるときはいつでも。静的ファイル(phpで解析されていない)を提供することは、サーバーが行うことを少なくすることを意味します。