Caching
The client service caches multiple types of entities to speed up the processing of requests.
Applications
Most endpoints in the client-service have an app-code in the path which means that they require an app to process the request. The apps are maintained by the push-service and needs to be fetched from there to validate the app-code and to get the data needed.
To make restarts and startups or new pods less expensive the apps are cached in two levels. First level is memory to avoid further network trips when processing a request. The second level is a redis instance.
Note: If an application can’t be found it will be cached in redis with the notFound property set to true. This in order to avoid hitting the push-service every time for a deactivated app still live.