A while ago I made this Symfony bundle that automagically memoizes your service methods using a PSR-6 cache.

Usage is very simple in 3 steps:

  1. have the service you want to memoize implement any interface
  2. mark the service with the #[Memoizable] attribute
  3. mark methods (or whole service) with the #[Memoize] attribute

Done!