sql >> Databáze >  >> RDS >> Mysql

RSS generátor s funkcí ukládání do mezipaměti

Nejprve přidejte do skriptu ukládání do mezipaměti , zdá se, že by nebylo příliš těžké vložit Zend_Feed a Zend_Cache dohromady – nebo jednoduše zabalte váš aktuální generační skript do Zend_Cache .

Stačí nastavit mezipaměť s vaší životností:

$frontendOptions = array(
  'lifetime' => 7200, // cache lifetime of 2 hours
  'automatic_serialization' => true
);

Poté zkontrolujte, zda je mezipaměť stále platná:

if(!$feed = $cache->load('myfeed')) {
  //generate feed
  $cache->save($feed, 'myfeed');
}

//output $feed

Nevím, jak tvoříte své RSS, ale můžete importovat strukturu pole do Zend_Feed :

$rssFeedFromArray = Zend_Feed::importArray($array, 'rss');

Samozřejmě ten nejlepší způsob může být jen použít aktuální generátor zdrojů a uložit výstup do souboru . Použijte tento soubor jako zdroj RSS a poté pomocí cron/web hooks/queue/whatever vygenerujte statický soubor. To by bylo jednodušší a spotřebovalo by to méně zdrojů, než kdyby generovací skript prováděl ukládání do mezipaměti.

//feedGen.php
//may require some output buffering if the feed generator outputs directly
$output = $myFeedGenerator->output();
file_put_contents('feed.rss', $output);

Nyní je odkaz na zdroj /feed.rss a stačí spustit feedGen.php kdykoli je potřeba ho osvěžit. Poskytování statického souboru (ani analyzovaného pomocí php) znamená pro váš server méně práce.




  1. Je špatný návrh používat pole v databázi?

  2. Vyberte datový typ pole v postgresu

  3. Úvod do nativního dynamického SQL v databázi Oracle

  4. Potřebujete pomoc s vytvořením dotazu SQL s připojením a vztahem mezi mnoha a mnoha