Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.19 veröffentlicht (11.09.18)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Ständiger Datenbankzugriff und PHP-Einsatz?!
#1
Guten Abend zusammen,

im Moment bastle ich an einer Website unter der Verwendung von PHP.
Was ich mich nun allerdings gefragt habe ist, ob der ständige Einsatz von PHP eigentlich sinnvoll ist. Wann macht es sinn und wann nicht?
Die selbe Frage stelle ich mir im Bezug auf DB-Verbindungen.

Aktuell habe ich alle Schlüsselwörter der Website (Menüpunkte, Auswahlpunkte im Footer etc.) zweisprachig in einer DB abgelegt und prüfe nun bei jedem Seitenaufruf zuerst die Sprache des Benutzers und gebe dementsprechend dann die Schlüsselwörter aus. Dadurch stelle ich praktisch bei jedem Seitenaufruf eines Nutzers eine Verbindung zur DB her, um die Wörter aus der entsprechenden Sprach-Spalte zu ziehen und dann auszugeben.
Ist soetwas denn sinnvoll oder frisst soetwas zu viele Ressourcen?
Weiterhin prüfe ich bspw. bei jedem Seitenaufruf, ob irgendwelche Parameter an der URL hängen und ob bereits eine Session vorhanden ist etc.

Kann man da klüger vorgehen oder ist das okay so?
Ich bin absolut kein Profi und eher noch im Lernstadium. Funktional bekomme ich aber soweit alles hin. Die Frage ist nur immer, ob es denn sicher genug und effizient genug ist etc.
Zitieren
#2
Nunja, möglich wäre, dass man die Schlüsselwörter cached und vielleicht einmal stündlich diese aktualisiert, wenn nicht sogar "nur" einmal täglich. Dies wäre effizienter. Auch wenn es nicht grade viel Ressourcen frisst, wenn man nur einen Besucher hat, der in der Sekunde auf die Seite zugreift. Bei einer Website mit mehr als einem Besucher in der Sekunde, wäre dies ineffizient.
Zitieren
#3
Grundsätzlich gilt:

Alle Dinge, die zwar in der Datenbank liegen, aber doch insgesamt recht statisch bleiben (über einen gewissen Zeitraum) kann man gut cachen.
D.h. man schreibt z.B. das Ergebniss einer Datenbankabfrage in eine .txt Datei. Dabei sollte man darauf achten, dass diese Dateien keine sensiblen Informationen, wie etwa Passworthashes o.ä. enthalten.

In deinem eigentlichen Skript prüfst du dann, ob deine Cache-Datei existiert. Wenn ja, liest du die Daten von dort ein, ansonsten machst du deine normale DB-Abfrage.

Der Cache selbst wird z.B. durch eine andere Funktion erneuert, welche direkt die entsprechende DB Manipuliert, und anschließend eine neue Cache-File erzeugt.

Lg
Raphael
Zitieren