Antworten auf deine Fragen:
Neues Thema erstellen

Cache ohne externe Installation gesucht

Hi,

ich suche eine Cache-Methode wie APC, mit dem Unterschied, dass ich die Cache-Methode ohne Installation vertreiben möchte.
Das heißt im Klartext ich möchte Dinge cachen (ganze Seitenresults inkl. Datenbank-Results), jedoch mein Script auf auf anderen WebServern hochladen können ohne dabei die Cache-Methode ersteinmal (zusätzlich zur Scriptinstallation manuell in der Kommandozeile) installieren zu müssen.
APC kommt aber erst mit PHP6 default mäßig dazu, deshalb suche ich schonmal vorab eine Alternative!?

:)
 

Curanai

Aktives Mitglied

AW: Cache ohne externe Installation gesucht

Guten Morgen,

mir ist noch nichts derartiges über den Weg gelaufen. memcache() würde jetzt vielleicht wer denken, deckt sich aber nicht mit Deinen Anforderungen/Wünschen (da Installation).

Der einzig logische Weg wäre - meiner Meinung nach - nur, dass Du Deine Seiten maximal eindampfst, komprimiert auslieferst, die htaccess übernimmt das Cache-Management (für den Browser) und Du hoffst auf aktivierten Cache im Browser.

Aber das ist nicht das, was Du da eigentlich machen willst ... tjoar ... es gab vor vielen Jahren ein CMS namens "Reddot" (vorher: InfoOffice). Dieses CMS war nicht dynamisch, sondern renderte alle Seiten - mit Content - nach Fertigstellung aller Arbeiten daran (zumindest in Version 3.x und 4.1). Wenn Du Seiten und DB-Results derart bewahren willst, solltest Du vielleicht eine "gerenderte, komplette Seite" erstellen (lassen). Mit der Berücksichtigung, dass die Seite eben entweder erst erstellt werden müsste oder ausgeliefert werden kann.

Aber da knackt es dann mit dem "irgendwo hochladen und dort verwenden". Daher behaupte ich, dass Du vielleicht auf Version 6 warten wirst müssen ... aber hast dann übrigens das Problem, dass längst nicht alle Server mit PHP6 arbeiten (Stichwort: "up'n'go").

Viel Erfolg.
 
AW: Cache ohne externe Installation gesucht

Danke für deinen Beitrag.
Die genannten Möglichkeiten habe ich mir auch schon überlegt und zum Teil umgesetzt (compress), doch schnell dagegen gesprochen.
Ich werde mal abwarten, ob es noch andere Beiträge gibt :)
 

afr0kalypse

Allwissendes Karmameerschweinchen!

AW: Cache ohne externe Installation gesucht

Ich kenne jetzt nur die Möglichkeit unter php mit output buffering zu arbeiten. Weiß aber nicht ob dir das weiter hilft.
siehe ob_start, ob_get_contents, ob_flush.
Dazu habe ich irgendwo mal nen Beitrag gelesen in Verbindung mit dem Generieren von statischen Seiten aus dynamischen Inhalten...
 
AW: Cache ohne externe Installation gesucht

@afr0kalypse


Ja ich kenne das, aber bringe das absolut nicht in Verbindung mit Cache!?
Wäre dir dankbar wenn du mir mehr dazu erzählst.



Vollzitate bitte vermeiden; durch randacek_pro entfernt, Gruß
 
Zuletzt bearbeitet von einem Moderator:

afr0kalypse

Allwissendes Karmameerschweinchen!

AW: Cache ohne externe Installation gesucht

Beispiel:
Du hast Dynamischen Content in eine Datenbanktabelle eingefügt. Daraus generierst du eine statische Html-Seite mit der Laufzeit von 24 Stunden, bis der Content aus der Datenbank neu generiert werden soll.
So greifen alle auf eine Statische Seite zu anstatt zusätzlich das Backend mit DB-Abfragen zu belasten. Zusätzlich könntest du deinen DB-Content bearbeiten ohne dass es der Nutzer mitbekommt, da die statische Seite 24 Stunden gültig ist....
Nachteil ist natürlich, dass eine Html Seite generiert wird...
 
AW: Cache ohne externe Installation gesucht

Hallo,
na ob das so gut ist bei der Performance, ich weiß ja nicht..

Vollzitat durch randacek_pro entfernt, Gruß
 
Zuletzt bearbeitet von einem Moderator:

Curanai

Aktives Mitglied

AW: Cache ohne externe Installation gesucht

@afro: Klingt so lange interessant, bis man nicht seine komplette Seite derart ablegen will - aber für Teilbereiche, wo bspw. Informationsgehalt weniger verändert wird, bestimmt brauchbar - ist auf diesem Wege eine Art "Mischbetrieb" (dynamisch/page-cache) möglich?
 

Curanai

Aktives Mitglied

AW: Cache ohne externe Installation gesucht

Reine Datenbankresults? Waren dafür nicht serverseitig "Views" (MySQL) zuständig?
 
AW: Cache ohne externe Installation gesucht

Reine Datenbankresults? Waren dafür nicht serverseitig "Views" (MySQL) zuständig?
Versteh mich nicht falsch, ich meine, ich will nicht ne komplette Seite statisch laden sondern die Laufzeit verringern, in dem ich die Dinge nicht mehr aus der Datenbank lade sondern aus einem Cache via Key (sofern Key gesetzt).
 

Curanai

Aktives Mitglied

AW: Cache ohne externe Installation gesucht

Hab schnell nachgelesen (ich benutze die Dinger selbst nicht, daher auch das "?" oben): Wäre wirklich daneben ... tut mir leid.


EDIT: Dann aber hier mal reingeschaut ... inkl. Beispiel.
 
Zuletzt bearbeitet:

hdandreas88

Noch nicht viel geschrieben

AW: Cache ohne externe Installation gesucht

das einfachste ist es einen eigenen Cache zu schreiben. Also das dir nach dem ändern eines inhalts im Backend, falls vorhanden, einen trigger los schickt der dir eine html erstellt und du im frontend nur die htmls anzeigst das kannst du dann überall einfach hochladen und es läuft.

Wenn du es gut schreibst an sonsten fällt mir da nichts ein.

also event oder zeit gesteuertes erstellen von html-Dateien.

Das ist dann sowie octopress.

Gruß Andreas

Edit: Vergessen :D http://octopress.org/
 
AW: Cache ohne externe Installation gesucht

@Curanai: Du hast meine Frage wohl nicht verstanden. Das was du gerade gepostet hast, ist das, was afr0kalypse vorhin schon geschrieben hat, nur jetzt eben mit Beispiel. Mir war schon klar wie das funktioniert, es ist simpel aber nicht optimal.
Wenn ich ein Projekt entwickle, bei dem sich ständig etwas auf der Seite ändert (auch nach dem der Benutzer z.B. Dinge verändert hat), ist diese Variante mehr damit beschäftigt diese Cache-Dateien zu erstellen, als den sinnvollen Inhalt auszugeben. Deswegen ist ein Datenbank-Cache wie ich oben gesagt habe, mehr das, was mich interessiert. Mir sind viele Varianten von Caching bekannt, aber keine, ohne Installation.

Das mit dem Datei-Cache ist eine Überlegung bei statischen Projekten wert, doch nicht wirklich bei dynamischen. Meine Projekte sind immer dynamisch und daher werde ich diese Methode nicht anwenden :)
Ich suche nach einer anderen Möglichkeit weiter..
Vielleicht gibts ja noch den ein oder anderen mit einem Vorschlag :)

@Andreas: Danke für deinen Beitrag :) Deine Lösungsvariante kommt für mich auch nicht in Frage, da sie ja in etwa dem entspricht was hier bereits genannt wurde. Für mich kommt nur eine Lösung in Frage die benutzerdefinierten Inhalt cachen kann (siehe Facebook: Memcache).
 
Zuletzt bearbeitet:

hdandreas88

Noch nicht viel geschrieben

AW: Cache ohne externe Installation gesucht

Das mit dem Datei-Cache ist eine Überlegung bei statischen Projekten wert, doch nicht wirklich bei dynamischen. Meine Projekte sind immer dynamisch und daher werde ich diese Methode nicht anwenden :)

Das ist Quatsch was du schreibst.

Ein statischen Projekt zu cachen macht ja mal gar keinen sinn.

Was machst du denn dann da? Eine html nehmen und dann in eine andere statische datei kopieren und die dann ausgeben? Das leuchtet mal gar nicht ein.

Wie dynamisch ist das denn? Wenn sich da alle paar sekunden/minuten was ändert dann wird das schon sehr schwer da was zu cachen.

Du drückst dich doch etwas halbwissend aus was du überhaupt vor hast.

Gruß Andreas
 
AW: Cache ohne externe Installation gesucht

Du drückst dich doch etwas halbwissend aus was du überhaupt vor hast.

Gruß Andreas
Bitte siehe mal meinen Edit vor deinem Post in meinem letzten Post.
Natürlich meine ich nicht mit statisch, dass ich eine statische HTML Seite cachen will *lach*. Ich meinte damit eher so was wie, dass sich der Inhalt nur ändert, wenn ich jetzt in einem admininterface was änder. Das ist dann zwar dynamisch geladen, aber gleichzeitig auch statisch, weil sich nichts live ändert.
Für meine Projekte ist dynamisch wenn der Inhalt benutzerdefiniert zugeschnitten wird, z.B. neueste Meldungen bei Facebook.
Cheers und frohes Baden :)
 

Curanai

Aktives Mitglied

AW: Cache ohne externe Installation gesucht

Deswegen ist ein Datenbank-Cache wie ich oben gesagt habe, mehr das, was mich interessiert. Mir sind viele Varianten von Caching bekannt, aber keine, ohne Installation.
Ich weiß gerade nicht, wie Du das für Dich definierst, aber sobald Du eine Datenbank dafür einrichten musst, da diese verwendet werden soll, reden wir bereits über eine "Installation" ...

Und doch, ich habe Dein Ansinnen durchaus verstanden - demnach habe ich auch nur afro mit dem Begriff "page-cache" bestätigt (der war sich nämlich nur bedingt sicher) und Dir ein Link mit Beispiel reingereicht. Gefällt nicht? Macht nichts ...

Vielleicht merkst Du, dass Deine "Anforderung" nach einer individuellen Probierphase ruft (übrigens auf Basis des Beispiels machbar) - denn schließlich bist Du auch mit Vorschlägen nicht einverstanden und im Moment habe ich den Eindruck, dass eine "fertige Lösung ganz toll wäre". Aktuell tendiere ich eher dazu, dass Deine verwendete Datenbank sich dann prima mit anderen, wichtigen Dingen darum prügelt, wer I/O auf Datenebene bekommt ... und ob das dann wieder die erhoffte Performance ist, lasse ich mal unkommentiert (was aber auch daran liegt, dass ich die dynamischen Umstände nicht einschätzen kann; bspw. Meshup oder das dämliche Facebook in der Beteiligung).

Aber wenn ich darüber nachdenke, dass Du nur eine gerenderte Seite "aufbewahren" willst, die ein Verfallsdatum hat und im Bedarfsfall neu erstellt wird ... das bekommst doch wohl problemlos hin, oder? Im "dirtiest case" legst Dir die URL direkt mit der kpl. gerenderten Seite in die Datenbank, nebst (Pseudo-)Cronjob für "MHD"-Test ...

MySQL hat eine eigene Cache-Funktion auf DB-Ebene ... da interessiert Dich vielleicht "query_cache_type" und "query_cache_size". Aber Du kennst es ja - schreibst Du ja selbst. Nur dann kennst ja das "Problem" damit bzw. warum es heute keinen Sinn mehr macht, diese zu verwenden (Stichwort: Multi-Core CPUs und schreibintensive Applikationen/Sites).

Viel Erfolg.
 

afr0kalypse

Allwissendes Karmameerschweinchen!

AW: Cache ohne externe Installation gesucht

Vielleicht ist ja ein php Flat File Cache das richtige für dich.


edit:
Also es gibt sehr gute Caching Lösungen wie memcached oder auch apc. Dann gibt es Datenbankseitige Lösungen wie Memorytables. Dann gibt es noch einfache Backendlösungen wie File-Cache. Und man hätte noch die Möglichkeit des clientseitigen Caches.
Wie ich dich jetzt verstanden habe, fällt Variante 1 weg. Variante 3 bringt deiner Meinung nach nichts (vielleicht zu viele Daten die zu oft geändert werden).
Dann bleiben so wie ich das sehe nur noch Variante 2 und 4 oder du erfindest das Rad neu, schaust dir den Sourcecode von beispielsweise APC an und schreibst dir den Kram selbst ;)
 
Zuletzt bearbeitet:
AW: Cache ohne externe Installation gesucht

Hallo,
ich habe noch eine Frage zum Thema Caching allgemein.
Mit htaccess sage ich zu jedem Dateityp, dass die Dateien bis zu einer bestimmten Zeit gecacht werden sollen.
Mal angenommen (was natürlich nicht dem entspricht was ich mache) ich setze den Cache auf ein Jahr. Wenn ich innerhalb dieses Jahrs jetzt aber die Datei editiere, dann muss der Benutzer ja F5 drücken oder seinen clientseitig gespeicherten Cache löschen um die Seite aktuell darzustellen.
Gibt es eine Möglichkeit abzufragen ob die Datei im Cache dem aktuellen entspricht? Dann wäre es kein Proble den Cache-Befehl mit PHP zu überschreiben.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben