AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Caching der Forenbeiträge

Ein Thema von Valle · begonnen am 7. Okt 2007 · letzter Beitrag vom 7. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#1

Caching der Forenbeiträge

  Alt 7. Okt 2007, 14:04
Guten Morgen,

ich habe ein Frage zum Forensystem der DP. Ich habe gehört, dass die Forenbeiträge hier nicht in der bbCode Form gespeichert werden, sondern erst in HTML umgewandelt und anschließend so gespeichert werden. Ich habe eventuell vor, das gleiche Prinzip auch auf mein selbst programmiertes Forum anzuwenden. Dabei stellt sich mir aber eine Frage: Wenn ein User einen Beitrag editieren will, dann editiert er ja auch den bbCode. Wird in der DP dann sowohl die HTML- als auch die bbCode Version gespeichert? Wäre das nicht etwas viel? Wie ist es dann gemacht?

Freue mich auf eine Antwort!

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 14:22
In der Datenbank liegt der Beitrag als BBCode Text, wenn er dann angefordert wie wird geschaut ob es den Beitrag bereits im Cache (der Cache ist ein Ordner im Dateisystem) gibt und ob dieser Cache gültig ist, wenn das der Fall ist wird der Beitrag aus dem Cache gesendet wenn nicht wird er halt neu erstellt und im Cache gespeichert.

mfg, Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#3

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 15:11
Vielen Dank erstmal für deine Antwort. Man könnte also sagen, dass im Endeffekt doch alles 2 Mal abgespeichert wird. Wäre es sinnvoll, wenn ich den gerenderten Beitrag bei meinem Forum dann doch in die Datenbank abspeichere? Im Prinzip macht es ja doch keinen Unterschied, ob es in einer Datenbank oder in einer Datei gespeichert wird. Eine Frage noch. Was heißt "ob dieser Cache gültig ist"? Was ist denn ein ungültiger?

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 15:17
Wenn ich mich recht entsinne, dann werden bei uns beide (HTML und BBCode) in der DB gespeichert. Der HTML Code verfällt, wenn der Beitrag (BBCode) sich ändert bzw. wenn dieser das letzte Mal vor 30 Tagen generiert wurde.

Da ganz alte Beiträge nur sehr selten abgefragt werden, könnte man also einen Cron-Job einrichten, welcher alle HTML-Caches älter als 50 Tage oder so einfach löscht. Dann wird die DB wieder etwas entrümpelt.

Falls Du fragst, wieso nur 30 Tage gültig? Einfach, Smilies können sich ändern, Implementierungen einiger BBCodes, etc. Würde man den Cache nicht verfallen lassen, so würden die alten, evtl. fehlerhaften, auf immer und ewig ausliefern

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 15:19
Zitat von Valle:
Wäre es sinnvoll, wenn ich den gerenderten Beitrag bei meinem Forum dann doch in die Datenbank abspeichere? Im Prinzip macht es ja doch keinen Unterschied, ob es in einer Datenbank oder in einer Datei gespeichert wird.
Je nach Komplexität der SQL-Abfragen kann ein Zugriff auf die Datenbank deutlich schneller sein als von einer Datei. Je weniger komplex und je weniger die Datenbank rechnen muss, desto schneller (mal abgesehen von den Indizes, denn davon hängt die Abfragezeit hauptsächlich ab).

Zitat von Valle:
Eine Frage noch. Was heißt "ob dieser Cache gültig ist"? Was ist denn ein ungültiger?
Theoretisch könntest du ein Feld einfügen, dass beispielsweise den Timestamp enthält, wann der Cache abläuft. Dann könntest du erzwingen, dass er alle paar Tage/Wochen neu erstellt wird. Doch dies ist in der DP meines Wissens nicht so gelöst, doch da bin ich überfragt.


Edit: @Sakura: Es gibt hier noch zahlreiche Beiträge, die die DP-Weihnachtssmilies beinhalten. Daher denke ich, läuft der Cache nie ab.
Edit 2: Der Beweis
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#6

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 15:26
Zitat:
Eine Frage noch. Was heißt "ob dieser Cache gültig ist"? Was ist denn ein ungültiger?
Mit ungültig meinte ich sowas wie zu alt, eben wenn die Datei älter als 30 Tage ist, ist Cache ungültig.
Und ja irgendwo wird immer etwas doppelt gespeichert.

mfg, Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 15:31
Zitat von Matze:
Edit: @Sakura: Es gibt hier noch zahlreiche Beiträge, die die DP-Weihnachtssmilies beinhalten. Daher denke ich, läuft der Cache nie ab.
Edit 2: Der Beweis
Immer diese Pfuscher bei der Implementierung Gérooooooome!

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 15:35
Zitat von arbu man:
Und ja irgendwo wird immer etwas doppelt gespeichert.
Muss nicht sein. Theoretisch konnte man den HTML-Code wieder auf BBCode zurückwandeln lassen. Nur ob das so sinnvoll ist, weiß ich nicht, würde aber gehen.
  Mit Zitat antworten Zitat
markusj

Registriert seit: 9. Dez 2005
Ort: Kandel
408 Beiträge
 
#9

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 16:22
Wer sagt denn, dass die Weihnachtssmileys bedeuten, dass der Cache niemals abläuft? Wäre ja gleich doppelte Speicherplatzverbrauch^^.
Ohne mich mit der Materie allzugut auszukennen würde ich doch vermuten, dass der Cache (der ja in erster Linie häufige Zugriffe abfangen soll, damit die Seite nicht jedes Mal frisch generiert werden muss), ein gewisses Verfallsdatum hat ...
Dass die Weihnachtssmileys noch vorhanden sind, führe ich auf eine entsprechende Implementierung zurück ... man kann ja auf den Time-Stamp zurückgreifen, oder, oder ...

mfG
Markus
Markus
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 16:30
Zitat von markusj:
Wer sagt denn, dass die Weihnachtssmileys bedeuten, dass der Cache niemals abläuft?
Naja im Beitrag schreibt man den Smileycode wie beispielsweise :), doch der Pfad zur eigentlichen Grafik befindet sich im Cache. Und da in Beiträgen von 2005 der Smileypfad der zu den Weihnachtssmileys ist, schließe ich daraus, dass der Cache nicht abläuft. Würde dieser nämlich neu aufgebaut werden, würde der Code :) zu einem Smiley ohne Wintermütze.

Edit: Rund den doppelten Speicherplatzverbrauch hat man beim Cachen sowieso. Nur den Cache zu laden geht schneller, als die Beiträge jedesmal neu zu parsen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz