Next.js Cache Invalidation Explained: revalidateTag, revalidatePath, SWR & Production Caching