Look into caching backends
We currently use the filesystem cache for most things and have an hourly cronjob which prunes the cache.
There were some concerns about committing cache to disk and that keeping it in memory would be preferable.
Symfony provides a wide range of caching adapters (redis etc): https://symfony.com/doc/current/components/cache.html#available-cache-adapters.
Things we currently cache (as an example):
- Some API responses from ALMA (the same for all users)
- The LDAP response of the logged in user (one or more entries for each logged in user, accessed on each requestr)
- The public key from keycloak (same for all users, accessed on each request)
- API responses from tugonline (same for all users)