Caching is used to temporarily store data that is frequently requested in an in-memory data store with low latency access, reducing round-trip access to the primary application data store(s). This makes retrieving cached data far quicker.
Caching is usually, but not necessarily, transient. This means that periodically, the data expires and needs to be rebuilt, but at a much reduced cost compared to continuously querying for the data from the data stores.