phpBB3 Cache funktion verwenden

Allgemeiner Support zum phpBB 3 Board und phpBB 3 Modifikationen.
Kein Support für die Download MOD / Extension!!
No support for the Download MOD / Extension!!
Please visit https://phpbb3.oxpus.net for Download MOD / Extension
Antworten
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

phpBB3 Cache funktion verwenden

Beitrag von MADxHAWK »

Hallo zusammen,

Ich würde gerne die Daten eines Shoutcastservers abfragen, z.b. alle 15 sekunden und diese per Ajax automatisch auf der Website aktualisieren.
Damit aber nicht alle 15 sek. für jeden User der auf der Seite ist eine Abfrage an den Shoutcast geschickt wird würde ich die Daten gerne Cachen, phpBB3 hat ja dafür wohl schon eine Funktion. Leider fand ich jedoch nichts wirklich hilfreiches. Deshalb hier mal meine Frage ob ich es so richtig gelöst habe.

Code: Alles auswählen


$cache = new cache('_shoutcast');

if (!$cache->get('_shoutcast') 
{
    // daten holen und in ein array schreiben
    // curl verbindung
    // array zusammenstellen

    $sc_data = array ('key_1' => 'value_1', 'key_2' => 'value_2', 'key_n' => 'value_n');

    $cache->put('_shoutcast', $sc_data, 15);
}
else
{
    $sc_data = cache->get('_shoutcast');
}

Dies scheint so zu funktionieren, bin mir aber nicht sicher ob dies so richtig ist.
Ferner würde ich gern einen Sendeplan cachen, der aus einem recht grossen Array zusammegesetzt ist. Hierfür müsste ich jedoch die gecachten Daten bei einer änderung am Sendeplan neu in den cache schreiben und da habe ich noch keine wirkliche idee wie ich dies bewerkstelligen soll.

Wäre für jede hilfe dankbar.

Gruss
Martin
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Re: phpBB3 Cache funktion verwenden

Beitrag von AmigaLink »

Ja dein Code ist richtig.
Ferner würde ich gern einen Sendeplan cachen, der aus einem recht grossen Array zusammegesetzt ist. Hierfür müsste ich jedoch die gecachten Daten bei einer änderung am Sendeplan neu in den cache schreiben und da habe ich noch keine wirkliche idee wie ich dies bewerkstelligen soll.
Dafür musst du bei Änderungen am Sendeplan lediglich den Cache (also das entsprechende Cache-File) löschen. Das machst du mit $cache->destroy('_shoutcast');

Da dies aber natürlich nur geht wenn das Objekt $cache existiert, nenne ich dir noch eine einfache alternative.
Du hast deinen Shoutcast-Cache den Namen _shoutcast gegeben. Die dazugehörige Cache-Datei (welche sich im Cache-Ordner befindet) ist somit data_shoutcast.php.
Mit @unlink($phpbb_root_path . 'cache/data_shoutcast.' . $phpEx); löschst du diese Datei, was natürlich den Effekt hat das der Cache neu erstellt wird wenn dein obiger Code aufgerufen wird. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Re: phpBB3 Cache funktion verwenden

Beitrag von MADxHAWK »

Hab herzlichen dank, dies hilft mir schon sehr weiter. :)
Antworten