Nick Reinking wrote:
It seems to me that perhaps we are thinking a bit too aggressively on page caching. We're trying to cache the entire page, which makes things unworkable for users with special preferences.
No, we're thinking to do the brain-dead simplest thing for the simplest, most common case, which is anonymous page views of current revisions of pages when there are no new messages.
This required few changes to the code to do, and was intended as a stopgap measure. Caching just the rendered wikitext and then changing it is more work for a smaller benefit, so it wasn't my first step.
Also, we had a lot of trouble with phase 2's caching, which stored just the HTML of the wiki text. One of many problems was that meta tags and interlanguage links weren't being saved, since they were outside. We've got to store these other things.
Of course, it would be easy enough to just dump an array into memcached with the wikitext's HTML, the language list array, and anything else necessary to avoid completely parsing the text, and then do either a final replacement pass or skip caching for some non-standard options.
-- brion vibber (brion @ pobox.com)