Well, if we take a look at the Symfony components using caching:

- Routing Component - This has a `Router` class which uses loaders to load the `RouteCollection` and it injects that into the Matcher and Generator. After that, the Matcher and Generator are cached.
- Translation Component - This has a `Translator` class which loads the catalogues, caches the catalogues and it uses the catelogues directly.
- HttpKernel/DI Component - This has a `Kernel` class which initializes the Container and caches the container.