Antworten auf deine Fragen:
Neues Thema erstellen

[MySQL, PHP] Prüfen wann Datenbankinhalte zuletzt aktualisiert wurden

Hey, ich habe folgendes Problem:

Ich möchte die Inhalte einer Datenbank in einem Cache speichern. Und das möchte ich nicht mit dem Frontend 'Output' sondern 'Core', also entsprechend für Datenbankabfragen, lösen. Ich möchte nämlich nicht lediglich die Ausgabe im Browser speichern sondern die Daten ansich in einem Array.

Das funktioniert alles soweit, jetzt möchte ich es aber so realisieren, dass der Cache und die sich darin befindlichen Datenbankinhalte erneuern, wenn sie in der DB aktualisiert wurden.

Angehen möchte ich das ganze, indem ich dem Cache-Inhalt den Timestamp mit übergebe wann die Daten aktualisiert wurden. Bei jedem Aufruf der Seite wird eine dann der Timestamp aus der Datenbank der entsprechenden Tabelle abgefragt. Und wenn dieser größer ist, als der Timestamp in dem Cache, dann wurde der Inhalt aktualisiert und wird dann anschließend neu in den Cache gespeichert.

### Anzumerken ist vielleicht, dass ich das gleiche Verfahren bereits für einen Bereich auf der Seite verwende, wo Dateien (also der Inhalt) per Include eingefügt werden, sodass sie nicht immer neu aufbereitet, sondern nur aus dem Cache geholt werden müssen. Das ganze habe ich mit Tags gelöst, indem ich dem Cache den Timestamp der Datei als Tag übergebe und hinterher beim laden des Caches überprüfe ob der Timestamp der Datei ungleich dem aus dem Cache ist. Und wenn ja wurde die Datei aktualisiert und der Cache wird erneuert. Habe das mit Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG gemacht.

Soweit dazu..###


Naja auf jeden Fall würde ich gerne ähnliches für das erste Beispiel umsetzen und würde gerne wissen wie man an den Timestamp einer Tabelle in einer Datenbank kommt damit man weiß wann sie zuletzt aktualisiert/bearbeitet wurde.

Danke im voraus. ^^


P.S.: Ich setze das mit Zend Framework um, aber für das Problem was sich mir gerade stellt reicht auch normales PHP. ^^
 

owieortho

Aktives Mitglied

AW: [MySQL, PHP] Prüfen wann Datenbankinhalte zuletzt aktualisiert wurden

Wenn Du nicht im DB-Design einen timestamp mit abspeicherst, dann bleibt noch die Möglichkeit über die Auswertung der Log-Files
 
AW: [MySQL, PHP] Prüfen wann Datenbankinhalte zuletzt aktualisiert wurden

Hm, das ganze Verfahren scheint relativ langsam zu sein bzw. recht aufwändig, oder täusche ich mich da?

Denn mit dem Cache versuche ich ja, dass die Seite schneller lädt und wenn ich dann erst damit so einen Umweg gehen muss dann wird die Performance nicht sonderlich verbessert oder?

Einen anderen Weg gibt es da nicht..?

EDIT:
Ah habe was gefunden das mir geholfen hat!

Mit SHOW TABLE STATUS kann ich dann bei dem Ergebnis die Spalte 'Update_time' abfragen, worin das formatierte Datum + Uhrzeit ausgegeben wird. Die muss dann nur noch exploden, mit mktime in nen Timestamp umwandeln und habe was ich will lol..
 
Zuletzt bearbeitet:

saila

Moderatorle

AW: [MySQL, PHP] Prüfen wann Datenbankinhalte zuletzt aktualisiert wurden

Genau - und das nächste mal ein Spampost vermeiden und die Edit-Funktion nutzen!
 

crx_ed9

Noch nicht viel geschrieben

AW: [MySQL, PHP] Prüfen wann Datenbankinhalte zuletzt aktualisiert wurden

TS on Update CURRENT TIMESTAMP

könnte hier hilfreich sein.

Sprich, eine Spalte in der mysql-Datenbank anlegen und als Attribut on Update CURRENT TIMESTAMP selektieren / fixieren.

Somit bekommst du immer automatisiert einen Zeitstempel, wann die Tabelle / Datensatz zuletzt editiert/hinzugefügt/owai wurde. Optional noch eine Splate (Bool) isLocked, so dass nicht zwitgleich ein und der selbe Datensatz editiert wird. Aber das ist glaube ich nicht gefragt gewesen :uhm:

Grüße
 
AW: [MySQL, PHP] Prüfen wann Datenbankinhalte zuletzt aktualisiert wurden

Ich habe es zwar schon mit meiner Methode gelöst, aber danke für den Tip, werde ich zukünftig mal umsetzen. :)
 
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

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.454
Mitglieder
67.558
Neuestes Mitglied
StarsMan
Oben