Caching is an amazingly effective technique to reduce latency. It helps build scalable, distributed systems.
We first discuss what is a cache and why we use it. We then talk about the key features of a cache in a distributed system.
Cache management is important because of its relation to cache hit ratios and performance. We talk about various scenarios in a distributed environment.
Benefits of a cache:
1. Saves network calls
2. Avoids repeated computations
3. Reduces DB load
Drawbacks of a cache:
1. Can be expensive to host
2. Potential thrashing
3. Eventual consistency
Cache Write Policies:
1. Write-through
2. Write-back
3. Write-around
Cache Replacement Policies:
1. LRU
2. LFU
3. Segmented LRU
00:00 What is a cache?
00:20 Caching use cases
03:42 Caching limitations
06:33 Drawbacks
09:42 Cache Placement
Caching resources listed together (click on the resources tab):
https://interviewready.io/learn/syste...
You can follow me on:
Github: https://github.com/InterviewReady/sys...
Instagram: / interviewready_
LinkedIn: / interview-ready
Twitter: / gkcs_
#Caching #DistributedSystems #SystemDesign