Cache windows
Cache windows keep dashboards fast and warehouse bills predictable: instead of cards querying BigQuery whenever someone looks at them, their queries run on a schedule you control and everyone is served the cached result.
What a window is
A window is a named time slot -- say "Overnight, 02:00 to 04:00" -- defined in your organisation's timezone. Cards that opt into caching are assigned to a window, and once per day, during that slot, Flynt re-runs each assigned card's query and stores the fresh rows. Each window has a cap on how many cards it will accept (default 15), so a single slot can never pile unbounded load onto your warehouse.
If several cards share an identical query, Flynt runs it once and the siblings reuse the rows -- a dashboard with five copies of the same query costs one warehouse run.
Who manages what
- Architects (T6) and above create and edit windows, set the organisation-wide guardrails, and see the performance view -- all on the Cached queries page under Govern in the sidebar.
- Card authors (Builder, T4, and above) enable caching on their own SQL cards and pick a window -- or leave the choice on auto, and Flynt assigns the card to a window with free capacity.
Caching applies to cards with direct SQL. Dataset-bound cards already share their dataset's cache (see Create a dataset).
Guardrails
Two organisation-wide guardrails, owned by Architects:
- Default maximum rows per cached query (default 10,000). A card may set a lower cap for itself but can never exceed the guardrail.
- Organisation timezone, which all window times are interpreted in.
Scheduled vs manual refresh
The window keeps a card's cache warm automatically, once a day. When you need fresher numbers right now -- the data just changed, or you fixed the query -- the card's refresh control re-runs the query immediately and updates the cache for everyone. Manual refresh requires edit rights on the card; it does not wait for, or consume, the window's daily run.
What viewers get
Viewers always read the cached rows, so dashboards open instantly and a busy Monday morning of dashboard traffic adds zero load to your warehouse. Filters still work: the cached result is the card's parameter-free base query, and filter values are applied in the browser. If a card has never been cached -- enabled today, window runs tonight -- Flynt falls back to running the query live once so nobody stares at an empty chart.
Keeping an eye on it
The performance section of the Cached queries page aggregates each window's recent history: how many runs, how many errors, bytes scanned, and average and worst query times. Each card also records its last run's status and timing, so a failing query is visible where it is fixed.