From: Egbert T. <e.t...@st...> - 2006-12-24 15:51:22
|
#mak-user in cc. hi ITD! I made a class for caching pages. The idea of it that pages that don't depend on which user is logged in, on the weather, or on the exact time might not need to be recomputed every time it is accessed. If the exact same information is sent to everybody requesting a page, why not save the page itself instead of computing it with lots of mak:values and db accesses every time? So, in short, this is a method of optimisation. The class saves a different page for every different query string that a page gets passed. This allows you to put caches on pages even if they might display different information in different cases. I tried it make it as easy to use for JSP authors as possible, and made some documentation inside the class file. If you're interested, please check out http://tequila.best.eu.org/egbert-k/classes/org.eu.best.util.PageCache and give me some comments or whatever. I started making it (jsp-based at first) for pages that allow local webmasters to import information like the BAS event list into their websites automatically, and figured that that could easily lead to a very heavy server load. But then, after some feedback from Rudi, we figured it might be more widely applicable. So here :-) Joao already expressed an interest in it for a task of his, so maybe it's a good idea to already put it into production quite soon, even if I haven't finished the local webmaster tools thingy yet. So, feedback please :) One thing that I see that could maybe become a problem is that the cached pages are saved inside the server's memory. The event list page is easily 30kb, and for multiple different query strings that page would be saved multiple times. If we start doing this thing a lot, we might get into quite some megabytes. Does some server guru know whether this would make a problem? Or is it swapped automatically? Or something? -egbert ps. a page that works with it is http://tequila.best.eu.org/egbert-k/www/localWeb/eventList.jsp - try reloading the context, and you'll find a <!--computed.--> comment on top of that page. Reload the page itself only, and the <!--computed.--> comment is gone. Note that the page itself is an outdated and work-in-progress thing, please don't look at the content of it :-) |