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):
interviewready.io/learn/system-design-course/cache…
You can follow me on:
Github: github.com/InterviewReady/system-design-resources
Instagram: www.instagram.com/interviewready_/
LinkedIn: www.linkedin.com/company/interview-ready/
Twitter: twitter.com/gkcs_
#Caching #DistributedSystems #SystemDesign
コメント