Optimising requests based on latest version

Hi Sebastian,

In our app we’re caching some data for offline use. We only need to download it if there has been an update since the last time the data was cached. Record updates in the CMS will be fairly infrequent for most schemas, excluding a user stats schema.

Can you offer any advice on how to reduce the number of requests we’re making to reduce app loading time by using cached data? E.g. check last date of any changes to any content in a particular schema before downloading, or check if record version is higher than cached version before downloading? I read about an if-match condition for versions, but I couldn’t figure out if it can be used for this purpose.

Thanks

Hi Strak,

what do you mean with “app”? A mobile application or a service?

I need to know that first.

Sebastian

It’s a xamarin mobile app, with all content stored in squidex. At the moment we have no local cache so it doesn’t work offline, and we pull all content from Squidex every time the app is loaded.

The simplest solution is to use the Etag mechanism: https://docs.squidex.io/guides/02-api#versioning

You can also use a CDN for caching. Squidex supports Fastly out of the box and I can also help to support other solutions.

Another solution would be to show the cached version first and then check for new versions in the background, just like “A new version of this article has been published.”

Thanks Sebastian, I think etag plus your suggestion of loading in the background is what we need.