Cache is great in some situations, but it could be used in many more if we could invalidate specific records of the cache, instead of the whole tenant.
A simple example: I have an action that returns a user's teams. I'm always calling this action and the teams change very seldom, so caching this action greatly improves performance. I know that the cache for this action is only invalid if someone changes the user's teams, so, if I could invalidate the cache when the user's team are saved I could potentialy run that code only once per user, after an update. At the moment I don't dare to cache that information because it's not acceptable for a user's teams not to change after a save and invalidating the whole tenant's cache will cause scalability problems if the application gets enough users for team changes to be relatively frequent.