[ASP] cachen van dynamische pagina's

Pagina: 1
Acties:

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 23-08 12:39
Naar aanleiding van [rml][ php][ disc] pagina's cachen[/rml] vroeg ik me af of en hoe je je dynamische gegenereerde pagina's kunt omzetten in html en dan kunt cachen met een bepaald tijdsinterval. En of je dit per pagina kan beslissen. Mijn mainpage kan namelijk makkelijk gecached worden, maar de uiteindelijk verkooppagina's wegens het tonen van aantallen natuurlijk niet :)

Wie o wie heeft hier al ervaring mee?

And Bob's your uncle ...


Verwijderd

Er zijn ongetwijfeld commerciele tools voor, maar je kunt zoiets ook zelf schrijven. Je zou bijvoorbeeld in het Application object voor iedere pagina kunnen bijhouden wanneer deze voor het laatst ge-execute is.

Bij iedere pagina die je uitvoert, check je of die tijd langer dan X uur geleden is. Als dat zo is, execute je de code, schrijf je dat naar en html pagina, en redirect je de browser naar die pagina. Als die tijd korter geleden is, redirect dan direct naar de statische html pagina.

Enjoy :)

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 23-08 12:39
Zou kunnen ja, maar voor veel pagina's ga je dan weer veel geheugen gebruiken. Is er geen mogelijkheid om die pagina zelf gewoon 1x per bv half uur te genereren en iedereen gewoon naar die pagina te sturen?

And Bob's your uncle ...


  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
je kan ook dat alleen dat gedeelte cachen dat je uit de database haalt, dat stoppen in een applicatie variabele.. en dat elke keer uit de applicatie halen als je de asp pagina maakt.. dan heb je niks meer te maken met html pagina's ofzo....

je zou bijvoorbeeld een table in de applicatie kunnen stoppen, en die er weer uit halen op het moment dat je em nodig hebt
waar je op moet letten is:
- je moet een verloopdatum instellen
- je moet zorgen dat alle functies die de content van je gecachede content veranderen ook de cache opnieuw maken...
- wat doe je als de cache leeg is?

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Verwijderd

Scharnout schreef op 08 augustus 2002 @ 11:31:
Zou kunnen ja, maar voor veel pagina's ga je dan weer veel geheugen gebruiken. Is er geen mogelijkheid om die pagina zelf gewoon 1x per bv half uur te genereren en iedereen gewoon naar die pagina te sturen?
Natuurlijk kun je gewoon de .asp pagina ombouwen naar een .vbs script, dat alle output naar een platte HTML pagina schrijft, om vervolgens deze door de windows schedular service eens in de x tijd te laten lopen.

Enjoy :)

Verwijderd

IIS5 cached zelf al dynamische pages in de DLLHost behorende bij de website. zoek eens op DllHost en IIS in de MSDN.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Je kan een md5 genereren van de querystrings waarmee de pagina's opgevraagd worden. Je kan dit alleen laten doen als een bepaalde boolean op true staat (cache variabele ofzo).

De output laat je bufferen en opslaan in een file, met als filename de md5.

Bij een request van een pagina waarvan de cache variabele op true staat, genereer je een md5, en pak je, als hij bestaat, de file met die filename. Als de file niet bestaat, laat je dus weer bufferen en opslaan, dan bestaat hij voortaan wel.

Met een cronjob kan je 1 x in de zoveel tijd de oude bestanden laten weghalen.

Als je iets update, kan je gewoon ff de cache dir leeggooien. Of je kan weer een extra parameter aan je querystring meegeven die het script de cache van die pagina laat legen ofzo...

Verzin is iets leuks :)

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 23-08 12:39
In ieder geval een leuk vraagstuk met meerdere oplossingen. Op MSDN vond ik ook nog hetvolgende:

<% Response.Expires = 10 %>

dan laat hij de content 10 minuten staan voordat hij ververst wordt. Niet eens zo gekke oplossing.

En is het nu wel of niet goed om response.buffers = true te gebruiken?

[edit]
oh .. lees net dit. Is dan inderdaad niet zo handig dat expires

Note that with browser or proxy caching, you'll get less hits recorded on your Web server. If you are trying to accurately measure all page views, or post advertising, you may not be happy with browser and proxy caching

And Bob's your uncle ...

Pagina: 1