Documentation
Every chart result flows through a stale-while-revalidate cache, and a regeneration lock prevents stampedes — so dashboards stay fast and your database stays calm.

A chart result is wrapped in an envelope keyed by the chart, its definition, and its runtime parameters. Within the TTL it’s served instantly; once stale, the first viewer triggers a background refresh while others keep getting the cached value — so a slow query never blocks the page.
A regeneration lock ensures only one process recomputes a given chart at a time; everyone else serves stale within the stale window or briefly waits on a cold miss. Where a persistent object cache is available the plugin uses it automatically, falling back to transients otherwise.
Start with the free plugin from WordPress.org. Upgrade to Pro to unlock Ask, pre-computed charts and Editor roles.