• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Browser Cache, Anwendungscache

Hallo zusammen,

weiß jemand wo man Caching Strategien für einen Browser oder Strategien für einen Anwendungscache findet?

der Webbrowser kann ja Webseiten cachen und bei Bedarf die Daten aus dem Cache wieder verwenden. Dafür gibt es ja in HTTP schon Last-Modified, If-Modified-Since, ETag, If-None-Match, Conditional GET um die Entscheidung zu fällen ob die Cachedaten benutzt werden können.
Hier müsste es doch noch weitere Möglichkeiten oder Strategien für einen Cache geben???

Wie speichert denn der Firefox oder ein anderer Browser die Daten im "Cache" ab. Alle Files in einem Ordner einfach auf die Festplatte legen???

Weiß hier jemand etwas dazu?

(Weiterhin:Wie ist das mit HTTPS. Warum kann der Browser Daten von Https Verbindungen nicht cachen???)

Wenn möglich setzt doch einen Link dazu, wo es ausführliche Informationen gibt.

Danke für eure Hilfe.
 

spoensche

Moderator
Teammitglied
Meinst du mit Anwendungscache die von der Webanwendung verwendete Caching Strategie?

Eine grundlegende Cachingstrategie für eine Anwendung zu entwickeln ist nicht so schwer. Eine Webanwendung besteht grob aus drei Schichten (Datenabfrage und Speicherung (Datenbankschicht), Anwendungsschicht und der Präsentationsschicht (statt Schicht wird der englische Begriff Layer verwendet)).

Da bei der Datenabfrage i.d.R immer die selben Statements (Querys) verwendet werden, wird der Datenbankserver, je nach Anzahl der Anfragen, unterschiedlich stark beeinflusst. Um Performanceeinbußen zu vermeiden und den Datenbankserver zu entlassten liegt es hier nahe, die Abfrageergebnisse für einen bestimmten Zeitraum zwischen zu speichern, um den Server so zu entlasten. Das Zwischenspeichern der Abfrageergebnisse übernimmt der Application Layer (auch der Datenbankserver unterstützt Caching), in dem er die Datenobjekte (Objekte, die die Daten aus den Abfrageergebnissen representieren) zwischenspeichert. Die Dauer der Speicherung ist dabei vom jeweiligen Anwendungsfall abhängig

Der Application Layer cached aber nicht nur die Abfrageergebnisse, sondern auch Teile des Presentation Layers. Dies geschieht z.B. vorkompillierte Templates und Zwischenspeicherung einzelner Contentelemente (ein Contentelement wäre z.B. ein eingebundener RSS- Feed und die Navigationsleisten). Die Contentelemente werden für einen bestimmten Zeitraum zwischengespeichert, wobei der Zeitraum für die einzelnen Elemente unterschiedlich sein kann. Eine Navigationsleiste kann z.B. länger zwischengespeichert werden als ein RSS- Feed. Beispielsweise leert der Application Layer den Cache für die Navigationselemente erst, wenn der Zeitraum für die Zwischenspeicherung überschritten worde ist (auch cache expired genannt) oder wenn Änderungen an der Navigation (z.B. neuer Menueintrag) geändert worden ist.

Im IBM Webspher Handbuch unter http://publib.boulder.ibm.com/infocenter/wpdoc/v510/index.jsp?topic=/com.ibm.wp.zos.doc/wcm/developingacachingstrategy.html wird die Entwicklung einer Cachingstrategie und die unterschiedlichen Cachetypen sehr gut erklärt.

http://faq.javaranch.com/java/CachingStrategies
http://en.wikipedia.org/wiki/Cache_algorithms
http://www.google.de/search?q=caching+strategy+tutorial&btnG=Suche&hl=de&lr=lang_de&rlz=1B5_____deDE340DE340&sa=2
 

abgdf

Guru
Wie speichert denn der Firefox oder ein anderer Browser die Daten im "Cache" ab. Alle Files in einem Ordner einfach auf die Festplatte legen???
Prinzipiell speichert Mozilla in
Code:
/home/Benutzer/.mozilla/Profilname/GenerierteNummer.slt/Cache
Kannst ja mal reingucken. Besonders praktisch mit konqueror, wenn und soweit er automatisch Bildervorschauen anzeigt.

Gruß
 
OP
S

student2004

Newbie
Hallo "spoensche",

danke für deine sehr hilfreichen Antworten.
@all: Sorry, wegen dem NICHT-Verlinken der 2 Einträge in 2 unterschiedlichen Foren. Wusste ich nicht...

@spoensche: Wie ist denn das "Eine grundlegende Cachingstrategie für eine Anwendung zu entwickeln ist nicht so schwer." gemeint?

Genau das ist es nämlich was ich suche. Eine Caching Strategie für eine Anwendung (also NICHT einen Cache im Webserver). (Wie es Browser machen hat mich auch interessiert, um zu sehen ob ich hier etwas brauchen kann.) Dabei hat mir ja dein Link http://faq.javaranch.com/java/CachingStrategies sehr geholfen.

Also aktuelle Strategien kenne ich nun. Was mich jetzt noch interessiert, wie denn die Daten "im Cache" am besten auf der Festplatte abgespeichert werden. Es gibt anscheinend 2 Typen: "Cacheverfahren für Webinhalte" und "Daten-Cacheverfahren".
In meinem Fall wären das Daten-Cacheverfahren. Ein Browser braucht anscheinend genau das andere Verfahren.

Hast du noch für mich einen Tip über Daten-Cacheverfahren und wie das aktuelle Clients machen? (Datenbank...)

Danke!
(gegoogelt habe ich natürlich schon, aber ich finde es einfach nicht...)
 
Oben