Ich versuche, herauszufinden, die beste Möglichkeit, Caching für eine website Ich baue. Es hängt stark von Bildschirm Scraping der Wikipedia-Website. Hier ist der Prozess, den ich zur Zeit mache:Finden Sie die richtige Caching-und Komprimierungs-Strategie für asp.net
- Benutzer ein Thema aus wikipedia über meine Website anfordert (dh http://www.wikipedia.org/wiki/Kevin_Bacon wären http://www.wikipediamaze.com/wiki?topic?=Kevin_Bacon) Hinweis: Da IIS nicht requests that end in a '.' verarbeiten kann ich gezwungen ist, die Abfragezeichenfolgeflag zu verwenden Parameter
- prüfen, um zu sehen, ob ich schon die formatierte hTML-in meiner Datenbank gespeichert haben, und wenn es nicht dann einfach auf den Benutzer anzeigen
- Ansonsten führe ich eine Web-Anfrage zu wikipedia
- Dekomprimieren der Strom, wenn nötig.
- Tun Sie eine Reihe von DOM-Manipulation, um die Sachen loszuwerden, die ich nicht brauche (und Dinge injizieren, die ich brauche).
- Speichern Sie die HTML in meiner Datenbank für zukünftige Anfragen
- Rückkehr der HTML an den Browser
Da es auf dem Bildschirm Schaben und DOM-Manipulation beruht Ich versuche, die Dinge zügig zu halten, so dass ich nur tun müssen es einmal pro Thema anstatt für jede einzelne Anfrage. Hier sind meine Fragen:
- Gibt es eine bessere Art und Weise des Caching oder zusätzliche Dinge zu tun, was ich tun kann Performace helfen?
- Ich weiß, dass asp.net Caching-Mechanismus eingebaut hat, aber wird es auf die Weise arbeiten, dass ich es brauche? Ich möchte nicht das HTML (ziemlich schwer) aus der Datenbank bei jeder Anfrage abrufen müssen, aber ich muss das HTML speichern, so dass jeder Benutzer die gleiche Seite bekommt. Ich will immer nur einmal die Daten von Wikipedia bekommen.
- Gibt es etwas, was ich mit der Komprimierung tun kann, um es schneller zum Browser zu bekommen, und wenn ja, kann der Browser die HTML-Ausgabe umgehen und anzeigen? Oder ist das nicht einmal eine Überlegung? Der einzige Grund, den ich frage, ist, dass einige der Seiten, die ich durch den HttpWebRequest wikipedia geschickt habe, als gzip-Stream durchkommen.
Alle und alle Vorschläge, Anleitungen, etc. werden sehr geschätzt.
Danke!