Hallo Allerseits!
Ich saß vorhin da und hab weiter an Klassendiagrammen in UML geschraubt und wie immer versucht schon jetzt möglich perfomante Lösungen zu suchen. Es ist schon länger angedacht Caching zu nutzen, aber eigentlich kenne ich mich damit nicht aus. Also hab ich mich dann mal informiert, um nicht wegen Unwissen jetzt schon Mist zu bauen. ;)
Naja, aber die Ausbeute war zwar wie immer interessant (lernt ja doch immer was), aber nicht wirklich zufriedenstellend, denn wenn ich das bisher richtig sehe ist die Lage so:
Caching kompletter Seiten ist kein Problem und dafür bestehen bereits automatisierte Software wie APC oder eAccelerator. Bisher stand fest, dass wir eAccelerator nutzen, doch bisher sieht die Software für mich so aus:
Man installiert und konfiguriert die Software und danach wird automatisch gecacht, was als lohnenswert erkannt wird. Direkt beeinflussen kann ich das nicht bzw. explizit Variablen speichern / laden ist nicht drin. Zumindest hab ich bisher keine gegensätzliche Dokumentation gefunden. :/
Über APC hab ich was auf php.net gefunden und das soll ja auch mit PHP6 rein, aber:
In Wikipedia steht, es sei ein optimierer wie eAccelerator und optimiert automatisch ganze Siterequests.
Jedoch ist es laut php.net die "Ursuppe", ich kann also einzeln Variablen speichern, laden ... bla bla also alles selbst managen.
Soweit, so gut. Wäre gut wenn mir das jemand be- oder widerlegen könnte. ;)
Nun zu dem was ich ganz spezifisch suche:
Wir planen ein Browsergame, was quasi komplett OOP sein soll, daher gibt es natürlich auch ein paar Klassen, die sich quasi nie Ändern (zB. Rechtesystem mit Gruppen von Rechten, welche sich eig. nur selten ändern). Die Optimierungsidee wäre also, speziell genannte Klassen zu cachen und zu gegebenen Zeitpunkt zu referenzieren.
Diese Funktionalität scheint APC der Dokumentation von php.net aus zu können, da wir aber eAccelerator nutzen wollten, würde es mich stark interessieren, ob dort vergleichbares geht? Bzw. ob APC sowohl die automatische Optimierung übernimmt und zusätzlich noch manuelles Caching erlaubt.
Wie gesagt, kenne mich bei Caching noch garnicht aus. Soweit ich erlesen konnte geht für OOP PHP (also Version >5.0) nur APC oder eAccelerator, aber vielleicht übersehe ich ja einen ganz anderen Ansatz?
Rege Diskussion ist sehr erwünscht. ^.^
Mit freundlichen Grüßen
Bloodredangel