Expiry in Redis is metadata attached to a key rather than an argument of the write, which is the opposite of the memcached-style API most people arrive from.…
Before adding a caching plugin to hold one expensive query, WordPress already has the API: set_transient() and get_transient(), with a time to live and no configuration. It uses…
A daily report scanning 1.2 million rows to return two hundred. Why neither obvious index helped, what the composite one costs, and the two answers I turned down.
512 MB, 150 concurrent visitors, and a box that swaps before the CPU is busy. Replacing Apache and mod_php with nginx and PHP-FPM, in three stages that each…
APC is talked about as “the PHP cache”, and it is two caches in one extension. The opcode cache stores compiled files and requires nothing from the application.…
On every request WordPress fetches all options with autoload set to yes in one query, unserialises the lot and holds it as a single alloptions entry. That is…