Understanding Cache Data Store and Query Cache in Windsor.ai

Windsor.ai uses two caching systems to maintain data freshness, as well as high performance and reliability of your data workflows:

  1. Cache Data Store: Windsor.ai’s internal database for persistent caching and backfilling. It helps reduce load on upstream sources and prevents large queries from timing out.
  2. Query Cache: It’s a temporary, in-memory cache that speeds up repeated API and dashboard queries.

This guide explains how both caching systems work and provides best practices for using them effectively.

Cache Data Store explained

Cache Data Store is an internal Windsor.ai database that stores large or long-range datasets. It lets you query historical data quickly and reliably without repeatedly calling the source APIs.

This is especially important because many advertising, CRM, and analytics platforms have:

  • Slow API response times
  • Short timeouts (30–120 seconds)
  • Rate limits
  • Difficulty returning large date ranges (1+ year of data)

Cache Data Store is created through a Destination Task; Windsor fetches the data once or on a schedule and stores it in this internal database.

How to create a Cache Data Store Destination Task

1. Select the data source(s) and connect the account(s) you want to extract data from. 

2. Pick the reporting date range (for example, last year or a custom range) and the fields you want to include in your query.

windsor query settings

3. Scroll down to the list of Data Destinations and select Cache Data Store.

cache data store destination windsor

4. Click “Add Destination Task.” This will open a window with your generated Connector URL (query).

add destination task windsor

5. Review the Connector URL to make sure it contains the correct date range, fields, and filters.

cache data store windsor destination task

6. Enter a task name (any you wish). 

7. Optionally, you can enable “Prevent deactivation when URL is unused” depending on your use case. Note that if the Connector URL is not used for 3 days, the task will be deactivated automatically unless this option is checked.

8. Choose the refresh schedule (daily, hourly, weekly) to determine how often you want the data to update.

  • Backfilling (year, months, weeks) is available on Basic plans and above.
  • Hourly scheduling is available on Standard plans and above.

9. Click Save to create your Cache Data Store destination task. 

The green “upload” button with the status “ok” indicates that the task has successfully completed.

upload ok windsor

Once created, Windsor will fetch the data into its internal cache database, and you can query it instantly in your final destinations without timeouts or heavy API load. 

When to use the Cache Data Store: examples & use cases

1. To avoid timeout errors

Suppose you want to pull a full 1-year Amazon Ads or Facebook Ads dataset into Looker Studio or Google Sheets; the source API often times out.

How to solve this with Cache Data Store:

Before sending your data to the destination of your choice,

  1. In the Date Range filter, select a long period (such as the last year or a custom range).
  2. In the Fields list, select all the required reporting fields you want to retrieve.
  3. Create a Cache Data Store destination task.
  4. Windsor will load the data into its internal cache database.

Now you can proceed with integrating your data into the final destination (in our example, Looker Studio or Google Sheets). Your dashboards will query the cached data instantly with no timeouts.

2. To backfill past years of data

If you need to retrieve 2–5 years of historical advertising data, large backfills may fail or take too much time to load.

How to solve this with Cache Data Store:

  1. Create a Cache Data Store destination task.
  2. Windsor will fetch data gradually in the background.
  3. Your data becomes available inside the internal database.
  4. Complete data integration into the preferred destination, and feel free to query it right away.

3. To store specific fields

Cache Data Store is also helpful when you need to store only a specific subset of fields instead of the full dataset returned by the source API.

For example, if your reporting involves only date, campaign, and spend, you can select just these fields and store them in the Cache Data Store destination task with your scheduled refresh interval. 

This creates a smaller and more efficient table inside Windsor, which loads faster, reduces the risk of timeouts, and keeps your downstream analytics cleaner and easier to work with. 

By storing only the data that you need, you avoid unnecessary processing and make your reporting more effective.

How the Query Cache Works

Windsor.ai uses a short-term query cache to speed up your dashboards and API requests.

When a user runs a query, Windsor temporarily stores the response for 6 hours for that exact Connector URL. ). Any repeated use of the same URL within those 6 hours will return the cached result immediately, instead of calling the original data source again.

This improves performance and reduces load on external APIs, especially for such heavy platforms as HubSpot, Facebook Ads, Google Ads, Amazon Ads, etc. 

This temporary cache mainly affects users who rely on manual refreshes. If a user has a scheduled refresh configured, Windsor will fetch fresh data on that schedule even if the cached version is still active.

Scheduled refreshes automatically bypass the 6-hour query cache window.

Manual cache clearing is available when immediate fresh data is needed. To clear the cache manually, please click on the “Clear Cache” button located at the top right side of your data preview window.

clear cache windsor

You can use this option only once every two hours. Attempting to clear it more often leads to this error.

windsor.ai 429 error

This rate limit only applies to the temporary query cache and does not affect Cache Data Store destination tasks.

Example of using Query Cache

Suppose you’re a marketing analyst using the Facebook Ads to Google Sheets integration through Windsor.ai. When you refresh the sheet for the first time, Windsor pulls the data from Facebook and stores the response for 6 hours. Any refreshes within that time return instantly because the Connector URL is the same.

If you want to get fresh data asap, you can clear the cache manually once in 2 hours; Windsor.ai will fetch the latest data. If you try to clear the cache again within two hours, you’ll receive a 429 error.

If you configure the Google Sheets sync with an automatic hourly refresh, the data will be updated every hour regardless of Windsor’s 6-hour query cache window.

Conclusion

Our Cache Data Store and Query Cache systems serve different purposes but work together to keep Windsor.ai data ingestion fast and reliable. 

The Cache Data Store is ideal for large datasets, long date ranges, and backfilling without timeouts, while the Query Cache simply speeds up repeated manual queries for six hours at a time. 

Using scheduled refreshes ensures you always get fresh data when needed, without relying on manual cache clearing. 

Understanding how each caching layer works helps you choose the right approach and ensures smoother, more dependable reporting.

FAQs

Do Windsor’s scheduled refreshes use cached data?

No. Scheduled refreshes always pull fresh data from the source based on your selected interval.

Tired of juggling fragmented data? Get started with Windsor.ai today to create a single source of truth

Let us help you streamline data integration, so you can focus on what matters—growth strategy.
g logo
fb logo
big query data
youtube logo
power logo
looker logo