The MediaWiki default is to store localisation cache in the database.
At WMF production, it's been the case for many years that these are stored as a file on disk instead, in a private cache directory. MediaWiki offers two well-tested formats for this: php array files, and CDB files. CDB files is what WMF currently uses in production. PHP-array files is what we're moving toward (T99740), which are faster to generate and faster to read than CDB files.
For third parties, this means:
- More scalable by default. We'd no longer require db-master connections on web requests when repopulating the localisation cache.
- Better recache performance.
This seems like a fairly easy thing to enable by default. Should we do that? Are there reasons we haven't already?
For core, if we later remove the db option (because why would we keep it?), then after the next release it would mean:
- Lower complexity in database management. MediaWiki currently has dedicated db-related logic that carefully establishes multiple connections to the same database, so that localisation-cache queries are not blocked behind regular database queries.
- Fewer LCStore implementations to maintain and test.
- One less database table in our schema (yay).