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 2 von 2     12   
markusj

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

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 18:28
Doppelte Widerspruch:
Zitat von Matze:
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 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
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
 
#12

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 18:34
Hi, ich verstehe nicht, was du meinst.

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 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: Gérome und Daniel.
  Mit Zitat antworten Zitat
markusj

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

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 18:53
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
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
 
#14

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 19:04
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 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 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.
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.891 Beiträge
 
Delphi 12 Athens
 
#15

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 19:09
@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
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 20:49
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  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
 
#17

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 21:00
So in der Art hatten wir es ja zusammengetragen, nur dass es zusätzlich komprimiert wird, wusste ich nicht.

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 von sakura:
Immer diese Pfuscher bei der Implementierung
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

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

Re: Caching der Forenbeiträge

  Alt 7. Okt 2007, 21:33
Danke euch allen!
Ich erlaube mir die Idee mal zu kopieren...

Mit freundlichen Grüßen,

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


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 23:27 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