Agreed, and the argument point is the one I'd underline: everything you pass in becomes part of the key, so passing a whole user or session object instead of just the id you need fragments the cache fast. On stampedes, cacheLife already behaves that way inside its window: after the revalidate time the old entry keeps being served while it refreshes in the background, and only once it's past expire does a request wait for fresh data. revalidateTag with the 'max' profile gives you the same stale-while-revalidate behavior on a tag purge. And yes on multiple instances: the default handler is an in-memory LRU per process, so without a shared cacheHandlers entry like Redis each replica refreshes on its own schedule.
