PHP Caching wie und was?

aargau

Erfahrenes Mitglied
Ich möchte einige abläufe wie Seitenausgabe etc. cachen um Serverlast zu vermeiden.

Nun meine Frage, wie mache ich sowas am besten?

Was findet ihr wichtig zu chachen, was nicht?
Es geht um ein Partyportal, welches viele Bilder hat.
Funktionene:
- Freudne /On-off anzeige
- Memberprofil
- letzte Besucher inkl on / off anzeige
- Gallerien mit Bläterfunktion
- Pn System

Was von diesen dingen würdet ihr cachen? und wie?
 
Das geht noch nicht weit genug. Ein Op-Code-Cache wie APC oder eAccelerator sollten eigentlich immer Pflicht sein! Komplette Seiten zu cachen bei einer Community geht auch nur bei ausgeloggten Usern. Da müsste man dann schon ein MVC Konzept haben um sinnvoll die Views cachen zu können. Ansonsten lohnt es sich auf jeden Fall diverse Datenbankabfragen, die sich nicht alle paar Sekunden ändern, zu cachen.
 
Danke, ich habe mir gestern mal irgend ein Script heruntergeladen welches dies dann sehr einfach kann... Nur habe ich nun das Problem, wenn ich z.B. bei den Profilen die Freundes anzeige cachen möchte z.B. nur alle 30sek. Aktualisieren, dann komme ich auf das Problem das jeder User andere Freunde hat. Da kann ich ja dann schlecht einfach die variabel "$freunde" cachen. Wie müsste ich in diesem Fall vorgehen, damit das ganze Funktioniert?

bzw. das selbe bei den Eventgallerien, welche grundsätzlich nicht mehr verändert werden...
 
Ganze Seiten zwischenzuspeichern, ist nur in sehr seltenen Fällen möglich. Denn meistens enthalten sie personenbezogene Daten (Benutzername, „meine Freunde“, „meine Nachrichten“, etc.). Deswegen können oft nur Teile zwischengespeichert werden. So etwa Allgemeines, das für alle Benutzer gilt. Hier könnte auch noch zwischen öffentlichen Daten und geschlossenen Daten (nur für Angemeldete) unterschieden werden.

Wenn du dir unsicher bist, solltest du lieber auf einen solchen Cache verzichten, als dass du versehentlich Daten an Nicht-Autorisierte weiterleitest.
 
na gut, da hast du recht es wäre wirklich nicht gerade erfreulich wenn plötzlich ein anderer User an die Nachrichten von sonst jemandem kommen würde...
Aber es ist halt schon recht hart bei jedem Seitenaufruf mehrere Querys abzufragen.
z.B. gibt es neue nachrichten...?
gibt es eine Freundes anfrage
okay denke das man dies auch via Session irgend wie "cachen" könnte z.B. wenn man eine nachricht hat ein msg=true setzen in der Session und das Symbol solange ohne Query ausgeben bis man es anklickt.

Aber was ich wirklich schlimm finde ist bei jedem Aufruf der Gallery die Seitenanzahl auszulesen (wie viele Einträge gibt es / Seitenzahl) könnte man dies nicht irgend wie einfacher machen? Denn bei 100 Seiten wird das schon etwas lastig bei jeder Seite...
 
Da sich die Anzahl der Einträge nur beim Löschen bestehende beziehungsweise Hinzufügen neuer ändert, könntest du diese Information nur nach Änderung der Einträge ermitteln und dann irgendwo zwischenspeichern.
 
Zurück