Event Caching
  • 24 Jan 2023
  • 2 Minutes to read
  • Dark

Event Caching

  • Dark

What is Caching?

Caching is a technique that stores a copy of a given resource and serves it back when requested. When a web cache has a requested resource in its store, it intercepts the request and returns its copy instead of re-downloading from the originating server. This achieves several goals: it eases the load of the server that doesn’t need to serve all clients itself, and it improves performance by being closer to the client, i.e., it takes less time to transmit the resource back.

For a website, it is a major component in achieving high performance. On the other side, it has to be configured properly as not all resources stay identical forever: it is important to cache a resource only until it changes, not longer.

How does Blackthorn Events Handle Caching?

Blackthorn uses several caching mechanisms to deliver the best performance we can at this time. As we grow, we will identify better scenarios to serve a larger customer basis.

Manage Caching Requests

To prevent multiple cache requests from being sent in a short amount of time after an Event has been modified, a new Apex Class, NotifyPlatformToRefreshCacheBatch, was created.

To enable the new cache batch updates, perform the following steps.

  1. Go to the Blackthorn | Events Admin page.
  2. Click the Scheduled Jobs tab.
  3. Click the Schedule Event Cache Refresh Job button.
  4. Enter the frequency for the job to occur. The default frequency is 15 minutes.

To disable the job, go to the Scheduled Jobs tab on the Blackthorn | Events Admin page.

Create an Event

The cache will be refreshed instantly. This means if an event is published or not, it will reflect accordingly on the front end.

Update an Event

Updates to the following objects will trigger a refresh. Please keep in mind updating certain fields will not trigger a refresh. If a refresh is not triggered, click the Update button on the Publish component on the Event page.

Updating the following objects will trigger a refresh:

  • Event
  • Speaker
  • Sponsor
  • Session
  • Session Attendee
  • Attendee
  • Event Content
  • Custom Tab
  • Event FAQ
  • Event Keyword
  • Track
  • Form
  • Form Big List Group
  • Data Dictionary

Change the Event’s Status

If an Event is Published AND the Status = "Active" or "Draft", the Event is visible and cached.

If an Event is Published AND the Status is changed to "Completed" or "Canceled", the Event will be removed from the cache after the invalidation webhook runs successfully or someone does a hard refresh on the Event or Event Group page. The Event will no longer be visible.