sql >> Database teknologi >  >> RDS >> Mysql

RSS generator med caching funktion

Først for at føje caching til scriptet , det ser ud til, at det ikke ville være for svært at sætte Zend_Feed og Zend_Cache sammen - eller bare pak dit nuværende generationsscript med Zend_Cache .

Bare konfigurer cachen med din levetid:

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

Tjek derefter om cachen stadig er gyldig:

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

//output $feed

Jeg ved ikke, hvordan du danner din RSS, men du kan importer en matrixstruktur til Zend_Feed :

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

Selvfølgelig den bedste måde kan være at bare bruge din nuværende feed-generator og gemme outputtet til en fil . Brug den fil som RSS-feed, og brug derefter cron/webhooks/queue/whatever til at generere den statiske fil. Det ville være enklere og bruge færre ressourcer end at lade generationsscriptet foretage cachen.

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

Nu er feedlinket /feed.rss , og du kører bare feedGen.php når den skal genopfriskes. At betjene den statiske fil (ikke engang parset af php) betyder mindre for din server at gøre.




  1. OdbcConnection returnerer kinesiske tegn som ?

  2. Hvordan får jeg resultatet af to udvalgte sætninger i en enkelt række?

  3. ScaleGrid DBaaS shortlistet til Cloud Excellence Awards 2018

  4. hvordan kører man python-scriptet fra mysql-forespørgslen?