Introduction to Caching - a System Design Primer: Part 2
Exploring how and when to use Caching in your systems

In the previous article, we discussed the following:
what is a cache and some of its key definitions
benefits of caching
cache misses and hits
cache eviction policies
different kinds of caching like browser, CDN, and application caching
If you haven’t had a chance to read it yet, here it is:
Introduction to Caching — a System Design Primer: Part 1
System design is a crucial aspect of software engineering, but it can be challenging due to the complex terminology used in system design resources you typically get online. In order to design effective systems, it’s essential to understand the tools and terms used to solve specific problems.
In this article, we are going to be focusing on discussing what techniques are used in populating and maintaining caches.
Let’s dive in 👇
Caching Strategies
Depending on the kind of data we’re dealing with in the system, we can ask the following questions when choosing caching techniques: