Ok I'm a Newbie but I worked in heavy load environment.
First u have to determine what is a heavy traffic for you and what are your resources (how many servers).
1. Using database is nice and simple, but can be costly. as said connections take time even if your query's are cached
2. We used file cache it's a simple solution but hard to control
3. We useed memcache for some parts of the system. It's a nice tool and can be put on to remote server. this is cool
About performance issues in general there are many blogs and forums. I found a few cool ones:
Zend/PHP Conference 2007 had something about high performance application
http://devzone.zend.com/podcasts/zendconsessions
http://www.bostonphp.org had a session (ok found it)Podcast - Designing, deploying and operating high-traffic PHP
http://www.bostonphp.org/content/view/114/9/
I tried Drupal the other day for my personal page, since the tests show that it's fast, but there are some issues that I don't like. But it gave me fast results. Like setting a new site in a day. Using a reliable CMS is a good way to a Rapid development, but it has it's drawbacks.
What I'm thinking of (correct me if I'm wrong). But this would be useful if we wouldn't have memcache or enough RAM to work with.
if you use a serialize method and cache content as class that extends class cacheable and this one holds private value $last_datetime, we would have a small overhead every time, the cache is obsolete and there fore reload new content.
This cacheable objects would be stored either on filesystem or database (perhaps a dedicated one). But as you can see from those Podcasts, there is many ways to achieve high performance web site.