What Is Caching
Caching is a technique takes a relevant part of the data to be processed to a location (cache memory) closer to the place where it will be handled. Cashing was initially used within operating systems, both distributed and non-distributed, to increase file system performance and accelerate Input/Output (I/O) operations.
Within these systems, caching techniques and strategies have been extensively studied and optimized. In the past couple of decades, caching techniques have been widely used following the development and diffusion of computer networks—in particular, the internet.
The growing success of the Internet that we saw in the past decades has led to the rediscovery of these performance optimization techniques since the widespread diffusion of this network soon overloaded its own structure, resulting in a rapid decline in performance. To remedy this problem it was decided to apply the concept of caching to the Internet.
Caching is currently utilized in a number of computing systems such as:
- Browsers: Web browsers use caching to store data such as HTML, CSS, JavaScript, and image files;
- Database: in order to improve query performance, caching is often used in databases;
- Operating systems: OS use chaching with accessed files and system data to improve the overall performance.
- Content delivery networks: caching is used by CDNs to store content such as images and videos, thus providing a better user experience.