I've made some quick hacks to fall back to displaying cached pages where available when the database can't be connected to.
Change is in CVS and on the test wiki; you can simulate the database being down here: http://test.wikipedia.org/w/breakwiki.php
I've also pulled some of the caching stuff out of Article and into a separate CacheManager class; some more refactoring is likely warranted.
The new code dispenses as well with the duplicate uncompressed cache files when using gzip mode; a browser that doesn't support gzip-encoded pages should have the page fed to it uncompressed on the fly. This will significantly reduce space requirements for the cache at little CPU cost (most browsers do support gzip, and decoding gzip is relatively inexpensive).
Please test in various browsers!
-- brion vibber (brion @ pobox.com)
wikitech-l@lists.wikimedia.org