I think we're nearing a point where we'll get meaningful benefits out of having better caching available. In particular, I'd like to cache these frequently-executed, highly dirtyable queries:
- Differential, Maniphest and Audit counts on the home page.
- Notification and message counts.
- User profile picture URIs.
- User calendar status.
And possibly move this stuff to cache to make it more efficient to bulk load:
- User session information.
- User preferences.
We have most of the basics for this, but caching is currently "cache-aside" rather than "read-through", and we don't actively dirty keys. So this likely reduces to:
- Provide general-purpose read-through infrastructure.
- Provide general-purpose cache dirtying infrastructure.
- Implement some caches.