The use cache directive with remote backends is a game-changer for Next.js. Abstracting distributed caching to a single line removes so much boilerplate that teams usually handle with Redis wrappers. Curious how cache invalidation works in practice here — especially for data that changes frequently. In the automation systems I build, stale cache has caused more production incidents than I'd like to admit. Does the tag-based revalidation handle partial invalidation well?