Implementing Dashboard Caching

To access caching, click on the down arrow in the upper left corner of the dashboard. Then, toggle “Enable caching”. At this point, there will be an option to set the Timeout period via a dropdown menu.

How Dashboard Caching Works In Practice

Caching is set at the dashboard level. When caching is enabled, the results of any query will be cached in Explo’s Redis ephemeral data storage. If that same exact query is then executed again within the set Timeout period, instead of executing the query in your database, the data will be fetched from the cache. This results in a much faster fetch of the data. Once the Timeout period has passed, the data in the cache will expire and, if that query is executed again, your database will be queried for the results. You may configure the Timeout to be 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, 6 hours, 12 hours, or 24 hours. Caching applies to all queries within the Dashboard, including queries for filters. Only exact match queries will trigger pulling from the cached results. For example, if the following statement has been cached:

Query 1:
SELECT * FROM DB WHERE DATE > "2022-01-01"

the following query would trigger a call to the database instead of a pull from the cache:

Query 2:
SELECT * FROM DB WHERE DATE > "2022-09-09"

Even though Query 2 is a subset of the results from Query 1, only exact matches will trigger pulling from the cached results.

Manually Clearing the Cache

Explo allows you to manually clear and refresh the cache in two ways, but using these buttons may cause unintended behavior.

Dashboard Editor

There is a button in the top right corner of the dashboard editor that requests new data for your data panels. Note that, because your in-app and embedded dashboards share the same cache, refreshing the data via this button will refresh the data for your users as well.

Embedded Refresh Button

Explo allows you to add a refresh button as a dashboard element that will similarly refresh the data on the dashboard. Note that embedding this button will allow your users to refresh the data at any time for all users.

Heroku Shield Redis FAQs

Explo’s data cache brings customer data into an in-memory cache powered by Redis to further improve the product experience. Explo uses Heroku Shield Redis to ensure that this aligns with both our SOC 2 Type 2 accreditation and HIPAA compliance.

  • Certified to handle PHI, PII, and HIPAA data
  • Redis is an ephemeral data storage, meaning the data is only held temporarily
    • Explo’s TTL (”time to live”) setting, or how long the data is held, will be the Timeout set for the dashboard
  • The data is only held in memory and not written to disk, so the data is never stored
  • All communication channels with Redis are fully encrypted

Compliance

  • Customers are able to opt-out of using our Redis cache
    • It is recommended for a better experience, but it is not required
  • Explo’s Privacy Policy is updated to reflect the use of the cache and the ability to opt-out
  • Company policies, like our HIPAA Breach Notification Policy and Incident Response Plan HIPAA Addendum with Breach Notification Procedures, have been appropriately updated as well