A cache, in the context of computing, is any hardware or software that stores data so that any future requests for that data can be retrieved much faster.
Hardware implements thee technology as a block of memory for temporary storage of data that is probably going to be used again. Examples of hardware cache can be found in CPUs, GPUs and DSPs.
Examples of software caches include disk cache, memorization and, the most well known, web cache. Browsers and web proxy servers use this to store previous responses from web servers, like web pages and images.
Where are caches used?
Caches can be found in all kinds of devices and software. Standard web browsers such as Chrome and Firefox are the most common examples, but they can also be found inside apps, particularly for social networks like Facebook and Instagram.
Because mobile phones have limited storage and sometimes data allowances, it’s common for mobile apps to store data for reuse in order to access information that is commonly reused.
Why is a cache useful?
By reducing web server bandwidth and processing requirements, the cache reduces the amount of information which needs to be sent across the network, as information stored can be reused.
A pool of entries makes up a cache, with each entry having its own associated data, which is a copy of the same data in a backing store. Each entry also has a tag, which identifies the data in the backing store.
When the client (CPU, browser, operating system) needs to find the data presumed to exist in the backing store, it checks the cache. If an entry can be found via a matching tag, the data in the entry is used.