If this is a going to be that big of a site, I'm betting you will need good tools for logging, debugging, security, and database abstraction as well. So my recommendation would be to use a framework like symfony ([url]http://symfony-project.org)[/url]. It has wonderful support for a modular caching system and all the other things you need for a large-scale site. We use it at work and have been very pleased with it. The learning curve is a bit steep because it's such a necessarily complex piece of software, but once you get past that it'll save you tons of time from re-inventing the wheel.