Storing the result of an expensive operation so the next request can be answered from memory instead of recomputing it. Caches live in the browser, on a CDN, in the application, and in front of the database.
Caching is usually the cheapest way to make a slow product fast: it cuts both response time and infrastructure cost. The difficulty is not speed but correctness — knowing when cached data must be thrown away.
We cache where measurements show a real bottleneck, define explicit invalidation rules for each cache, and never cache personalised data at a shared layer, which is a common source of data leaking between users.