Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Fragen / Anregungen zur DP (https://www.delphipraxis.net/29-fragen-anregungen-zur-dp/)
-   -   Caching der Forenbeiträge (https://www.delphipraxis.net/101038-caching-der-forenbeitraege.html)

markusj 7. Okt 2007 17:28

Re: Caching der Forenbeiträge
 
Doppelte Widerspruch:
Zitat:

Zitat von Matze
Zitat:

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.

Wer sagt denn, dass da ein Link auf das Icon von 2005 ist? Es reicht doch schon, wenn der Smiley-Parserteil bevor er den Link auf http://www.delphipraxis.net/images/s...s_icon_sad.gif einsetzt, überprüft, ob das Absendedatum des Posts im Bereicht liegt, in dem die Weihnachtssmileys gezeigt werden sollen ...

Zitat:

Zitat von Matze
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.

Eigentlich braucht ein Beitrag sogar mehr Platz wie in BBCode-Form (Das ganze HTML-Gedöns aussenrum). Aber insgesamt ist der Cache wohl deutlich kleiner als die restliche Datenbank, sonst währe der Sinn des ganzen, oft benutzte Threads schneller und ressourcenschonender auszuliefern, doch verfehlt und man könnte alle Beiträge gleich als HTML speichern und bei (im Verhältnis zu Views viel seltener vorkommenden) Edits eine Rückkonvertierung durchführen ...

mfG
Markus

Matze 7. Okt 2007 17:34

Re: Caching der Forenbeiträge
 
Hi, ich verstehe nicht, was du meinst. :gruebel:

Zitat:

Zitat von markusj
Wer sagt denn, dass da ein Link auf das Icon von 2005 ist? Es reicht doch schon, wenn der Smiley-Parserteil bevor er den Link auf http://www.delphipraxis.net/images/s...s_icon_sad.gif einsetzt, überprüft, ob das Absendedatum des Posts im Bereicht liegt, in dem die Weihnachtssmileys gezeigt werden sollen ...

Der Weihnachts-Smiley-Link muss doch im Cache sein, denn sonst würde der Smiley nicht angezeigt werden. Der Beitrag wurde 2005 gecacht und meiner Meinung nach seitdem nicht mehr im Cache aktualisiert, daher diese Unterschiede. Im Cache ist der Beitrag komplett enthalten, wie er angezeigt wird, also rein in HTML-Form.

Falls ich dich falsch verstehe, bitte aufklären. ;) Wie man das umgehen kann, also mit dem extra Timestamp beispielsweise, habe ich ja bereits genannt, doch dies ist hier vermutlich nicht der Fall.

Zitat:

Zitat von Matze
Eigentlich braucht ein Beitrag sogar mehr Platz wie in BBCode-Form (Das ganze HTML-Gedöns aussenrum).

Daher schrieb ich "rund". ;)

Sicher können dir das jedoch nur 2 Leute beantworten: [user]Gérome[/user] und Daniel.

markusj 7. Okt 2007 17:53

Re: Caching der Forenbeiträge
 
Naja, mein Gedankengang war ganz einfach:
Vermutung a) Die Smileys sind statisch, ob in einem emulierten Filesystem oder in einer echten Struktur sei mal dahingestellt.
Vermutung b) Ein Cacheeintrag verfällt alle X-Tage
Schlussfolgerung: Der Cache bleibt schön schlank, die Smileys sind immer vorhanden, soll der Parser einen Beitrag, der nicht im Cache ist, abrufen, schaut er auf das Datum und ersetzt dann den Smileycode entweder durch einen Normalen oder eben einen Weihnachts-Smiley.
So bleiben gewünschte Smileys konsistent, während andere Smileys geupdated werden können ... und da die Smileys ja nicht im HTML-Code eingebettet sind, hat für mich der Beitrag erst mal nichts mit dem Code zu tun ... wäre ja ein Wahnsinnsaufwand, jeden Smiley in jedem Beitrag einzubetten ...

mfG
Markus

Matze 7. Okt 2007 18:04

Re: Caching der Forenbeiträge
 
Zitat:

Zitat von markusj
Vermutung b) Ein Cacheeintrag verfällt alle X-Tage
[...]
Schlussfolgerung: Der Cache bleibt schön schlank

Das wäre evtl. sinnvoll, doch es scheint in der DP nicht so zu sein. Da die ganzen Suchmaschinen ständig die DP durchwühlen würde die Datenbank so oder so recht voll mit gecachten Beiträgen sein.

Zitat:

Zitat von markusj
Schlussfolgerung: [...]

Da muss man nicht mal auf's Datum achten, denn wenn der Cache gelöscht werden sollte, dann würden die Parse-Funktionen die Smiley-Codes sowieso durch die aktuell eingestellten ersetzen.
Doch wie gesagt, ein Cache-Timeout scheint es nicht zu geben.

Zitat:

Zitat von markusj
und da die Smileys ja nicht im HTML-Code eingebettet sind, hat für mich der Beitrag erst mal nichts mit dem Code zu tun ... wäre ja ein Wahnsinnsaufwand, jeden Smiley in jedem Beitrag einzubetten ...

Der Originalbeitrag enthält den Smiley-Code, der Beitrag im Cache den zum Zeitpunkt der Erstellung generierten HTML-Code samt Smiley-URL, die damals aktuell war.

TBx 7. Okt 2007 18:09

Re: Caching der Forenbeiträge
 
@markusj & Matze: Was Ihr beide da schreibt, ist beides möglich. Wie es letztenendes funktioniert, kann Euch wohl nur Daniel verraten. Die Diskussion, in die Ihr Euch gerade verrennt, klährt jedenfalls nicht die Ausgangsfrage.

Gruß

Thomas

Daniel 7. Okt 2007 19:49

Re: Caching der Forenbeiträge
 
Ihr denkt alle viel zu kompliziert. *g*

Das Zeuch (die Beiträge) werden direkt nach dem Absenden mit ihren BBCodes in der Datenbank gespeichert, ganz so wie das phpBB vom Haus aus macht.

Bei Abrufen eines Beitrages wird geprüft, ob es für ihn bereits einen Cache-Eintrag gibt. Wenn ja, dann wird dieser herangezogen, andernfalls wird der BBCode geparst, in HTML-Darstellung gebracht und als solcher komprimiert in der Datenbank hinterlegt. HTML-Code lässt sich hervorragend komprimieren, so dass sich da sehr viel Platz sparen lässt.

Es wird gegenwärtig in der Tat ein Zeitstempel mitgeführt, so dass sich für jeden Eintrag im Cache das Alter bestimmen lässt. Im Moment werden dadurch jedoch keine Aktionen veranlasst.

Matze 7. Okt 2007 20:00

Re: Caching der Forenbeiträge
 
So in der Art hatten wir es ja zusammengetragen, nur dass es zusätzlich komprimiert wird, wusste ich nicht. :)

Zitat:

Zitat von Daniel
Es wird gegenwärtig in der Tat ein Zeitstempel mitgeführt, so dass sich für jeden Eintrag im Cache das Alter bestimmen lässt. Im Moment werden dadurch jedoch keine Aktionen veranlasst.

Zitat:

Zitat von sakura
Immer diese Pfuscher bei der Implementierung :mrgreen:

:mrgreen:

Valle 7. Okt 2007 20:33

Re: Caching der Forenbeiträge
 
Danke euch allen!
Ich erlaube mir die Idee mal zu kopieren... :duck: :twisted:

Mit freundlichen Grüßen,

Valle


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz