[PHP] Menu und Caching



  • Abend,
    ich versuche gerade einen Cache für das Menü einer Seite zu schreiben. Das Menü kommt aktuell aus einer einfachen Konfigurationsdatei...oder würdet ihr das via DB machen?

    Ich wollte das so machen:
    Beim Aufruf der Seite wird die komplette Datei geparst. Die Daten wollte ich dann in der PHP-Session halten. Daher muss pro User nur einmal die Konfiguration gelesen werden.

    Habt ihr andere Vorschläge? Wie würdet ihr so etwas machen? Danke schonmal.


  • Mod

    Config Datei oder DB ist ja egal, das Prinzip ist das selbe.

    Am besten waere es wohl, wenn du die Menu-Struktur in ein Array speicherst und dass dann in die Session packst.

    Wobei ich normalerweise das ganze Menu fuer alle Besucher cache, nicht nur in die Session - es sei denn bei jedem User sieht das Menu anders aus...



  • Hi Shade Of Mine, das Menü sieht für jeden Nutzer gleich aus. Wo speicherst du die Daten für alle Nutzer? Die PHP-Session gilt doch nur pro Besucher oder? Gibt es da noch einen globalen Speicher für alle Besucher? Danke schonmal für die Info.

    PS: Eine Konfigurationsdatei brauche ich deshalb, weil der Designer/Schreiber das Menü anpassen können soll..also ein kleines CMS System (will jedoch kein fertiges verwenden).



  • Herrmann schrieb:

    Wo speicherst du die Daten für alle Nutzer? Die PHP-Session gilt doch nur pro Besucher oder? Gibt es da noch einen globalen Speicher für alle Besucher?

    Eine normale Datei?! 😉



  • Hallo flenders, ich wollte ja versuchen mit dem Caching die Lesezugriffe auf die Festplatte reduzieren. Da gibt es dann wohl nur die normal PHP Session oder?



  • Standardmäßig arbeiten die PHP-Sessions genauso mit Dateien!



  • Das Einlesen einer Datei dauert sicher nicht solange wie das benutzen der Standard-Sessions.
    Die Session-Files müssen erst durch den Parser.
    Das Einlesen einer Datei nicht solange man da nichtr wieder PHP hat sondern nur HTML ausgiebt.



  • Oh, dachte immer das PHP-Sessions im Speicher des Servers liegen. Dann muss ich wohl etwas umdenken. Danke für die Infos.


Anmelden zum Antworten