Le lundi 18 octobre 2010 à 08:04 -0700, Earl Miles a écrit : > On 10/18/2010 3:22 AM, Tomáš Fülöpp (vacilando.org) wrote: > > Hi, > > > > In D6, after all caches are cleared, or after a lot of them expire and > > get emptied by cron, the server load spikes seriously because all such > > caches need to be re-populated. > > > > Since this happens more and more on sites I work on, I have been > > thinking about using another approach in my modules, in the sense that > > caches would be /refreshed/ rather than cleared and re-populated. Each > > cache refresh would run depending on e.g. a simple variable storing last > > time stamp of any other cache refresh. > > > > This would assure that a) all cached values would be available at all > > times, b) caches would never be re-calculated all at the (near) same time. > > > > I am about to write logic for this, but wanted to first check with > > others in the list -- perhaps some of you know or can point to an > > elegant solution that already exists. > > This is the Pressflow caching model. When David Strauss first got into > Drupal, he did a lot of work with this kind of thing, where caching > wasn't done when requested, but on cron.
If we look at the core functions, we can see Drupal as a framework, it provides more an API than the caching model itself -even if the caching model based on massive cache wipeout is implemented in core some modules- it's up to the module developers to make a good usage of it. I'd rather implement the refresh caching approach too of course, and Drupal core does not prevent me to do it. Pierre.
