Why we want to apply caching, Benefits of caching and Caching Diagram?
Have you ever wondered what is caching data and how it works in Mule? Generally speaking and easy context, caching data is a simple process that stores multiple copies of data in a temporary storage location so that information can be reached faster. Our first logical thought, it would be to improve performance in the application whenever it needs to fetch data.
Advantages & Disadvantages
Why we want to apply caching?
We all know that caching is the term for storing reusable responses in order to make subsequent requests faster.
By storing relatively static data in the cache and serving it from the cache when requested, the application saves the time that would be required to generate the data from scratch for every request. More importantly, caching can occur at different levels and places within an application. We will expand on this later.
Bear in mind that there are considerations on the server and client side, let’s revise those aspects.
On the server side, one aspect to take into account is that the cache may be used to store basic data, e.g. as a list of most recent article information fetched from the database. A second aspect is the cache may be used to store fragments or whole information, e.g. such as the rendering result of the most recent products.
On the client side, HTTP caching may be used to keep the most recently visited page content in the browser cache.
Benefits of caching
Effective caching aids both content consumers and content providers. Some of the benefits that caching brings to content delivery are:
- Decreased network costs: Content can be cached at various points in the network path between the content consumer and content origin. When the content is cached closer to the consumer, requests will not cause much additional network activity beyond the cache.
- Improved responsiveness: Caching enables content to be retrieved faster because an entire network round trip is not necessary. Caches maintained close to the user, like the browser cache, can make this retrieval nearly instantaneous.
- Increased performance on the same hardware: For the server where the content originated, more performance can be squeezed from the same hardware by allowing aggressive caching. The content owner can leverage the powerful servers along the delivery path to take the brunt of certain content loads.
- Availability of content during network interruptions: With certain policies, caching can be used to serve content to end users even when it may be unavailable for short periods of time from the origin servers.
Below is a flowchart diagram of caching procedure
In the next blog posts you will:
- find out all about the importance of the best strategy to implement it in a Mule project and the validity of the data being cached
- understand the mechanism of storing data on the server-side using an out of box feature of API Policy in Cloudhub.