One way to improve system performance is to make data available more quickly. Many systems have pieces of data that are more frequently-accessed than others; in such cases may be beneficial to reduce the amount of time it takes to interact with that information. In such situations, temporarily storing that data on a storage technology that is faster than its natural location will permit faster access. For example, system memory is often much faster than persistent storage and accessing data takes nanoseconds instead of milliseconds. Temporarily storing frequently accessed data or results in memory instead of on a disk can have a dramatic improvement on overall performance.

Like many other performance-focused improvements there are trade-offs to this strategy. Data caches often have two properties to be concerned with: they are typically smaller in size than long-term storage, and you now have two copies of the data. It is important when implementing caching to be aware of these and pick an appropriate strategy for managing the available space and ensuring that you do not lose any permanent changes or give inaccurate results where you cannot tolerate them.