seems that the processing of the key would take up a lot of memory and time to process, assuming that 90% of the widgets were cached.
Jacopo Cappellato sent the following on 7/17/2007 8:32 AM: > Hi all, > > I'd like to discuss with you all about the idea of implementing screen > widget output caching. > > Goal: minimize the db/service hits for rather static screens (for > example a category or product detail screen in the ecommerce); this > could be done by implementing screen widget output caching that prevents > the screen widget actions (and possibly ftl) from running > > Draft/proposal for implementation: > > a) add new attributes in the screen definition for cache settings (e.g. > cache="true|false" etc...) > b) the cache key can be derived from the screen name and the > "parameters" map (the output UtilHttp.getCombinedMap(...)) that > represents the input context for screens > c) associated to the cache key we will cache the final output of the > screen (html code or xsl-fo code...) > d) if the cache is enabled for a given screen, the input "parameters" > map is used as a key for the cache system, if no value is found, then > the screen (actions + froms + ftl templates) is run as usual and the > output is rendered and stored in the cache (with key screen name + > "parameters"); if the value is found, then the output is retrieved from > memory and sent to the user (no actions and ftl are executed) > > A different option would be that of storing the output context in the > cache and serve it to the ftl (instead of storing the output html/xsl-fo). > > I'd love to get your feedback about this, ideas/concerns, > > Jacopo > > > >