b2evolution b2evolution

  • Sign in
  • Sign up
  • About
  • Downloads
  • Hosting
  • Docs
  • Support
  • Sign in
  • Sign up
  • About
  • News
 
  • « Towards a new syndication format
  • b2evolution official website »

Web application caching, evolved!

Posted by fplanque on Jun 28, 2003 in Technology, The Webmaster's Blog

Blogs, as most current web applications, need to perform some caching of their pages on the server, in order to reduce webserver load and respond faster to client requests.

It looks like most people are quite happy with caching static versions of their pages for some defined amount of time. This method has often been called something like "half-baked/half-fried" in reference to the long running baked (static) versus fried (dynamic) discussion.

We actually think of it as "baked on demand"... but regardless of what we call it, we think it's not a satisfying solution!

With b2evolution, we have done some experiments caching blog homepages, which is already enough to significantly reduce server load and response times, since a very large portion of requests, including first visits, start with the home page.

However, this really makes the home page (or other pages we might apply this to) too static for many uses:

  • We want to log some stuff in realtime
  • We want new user comments to show up instantly (or at least, with a very short delay)
  • And most of all: We want pages to be customized for each user: display new posts since last visit, display his personal choice of categories, etc.

Caching a whole page for every possible combination seems plain stupid. (And it is!)

Actually, the only smart caching mechanism one can be satisfied with in high-end web-applications is block-caching.

As a matter of fact, a web page can almost always be considered as an assembly of different blocks. Some are static, some are dynamically updated several times a day, some are related to the user himself and some are so dynamic they change everytime the page is displayed, no matter what! By caching each of these blocks individually when it makes sense and rebuilding only those necessary at a given time, you can then reconstruct your whole page dynamically significantly faster than if you had to reconstruct all blocks from scratch everytime.

And there you have it: performance and functionality.

Of course, it's also much more complex to implement than any other caching mechanism... BUT, you can count on b2evolution to implement something like this in the future!

No feedback yet

b2evolution News

  • Home
  • Latest comments

Search

Categories

  • All
  • New releases
    • Press releases
  • Community
  • b2evolution.net
  • Development
    • New features
    • Technology
    • Security info
    • Translations
  • The Webmaster's Blog

Archives

  • July 2024 (1)
  • March 2022 (1)
  • September 2020 (1)
  • January 2020 (1)
  • May 2019 (1)
  • March 2019 (2)
  • September 2018 (1)
  • May 2018 (1)
  • September 2017 (1)
  • March 2017 (1)
  • September 2016 (1)
  • March 2016 (1)
  • More...

XML Feeds

  • RSS 2.0: Posts
  • Atom: Posts
What is RSS?

About b2evolution

  • What is it?
  • Features
  • Getting Started
  • Screenshots
  • Online demo
  • Testimonials
  • Design philosophy
  • Free & open source
  • Terms of service

Downloads

  • Latest releases
  • Skins
  • Plugins
  • Language packs

About us

  • About us
  • Contact

Webhosting Guide

  • Web hosting blog
  • Best web hosting
  • Cheap web hosting
  • Green web hosting
  • Hosting with SSH
  • VPS hosting
  • Dedicated servers
  • Reseller hosting
  • Int'l: UK / France

Docs & Support

  • Online manual
  • Forums
  • Hire a pro !

Other

  • Adsense
  • Press room
  • Privacy policy

Stay in touch

  • GitHub
  • Twitter
  • Facebook
  • LinkedIn
  • News blog
  • RSS feed
  • Atom feed

Founded & Maintained by François Planque