What is Distributed Caching? Explained with Redis!

99 Views
Published
Caching in distributed systems is an important aspect for designing scalable systems. We first discuss what is a cache and why we use it. We then talk about what are the key features of a cache in a distributed system.

The cache management policies of LRU and Sliding Window are mentioned here. For high performance, the cache eviction policy must be chosen carefully. To keep data consistent and memory footprint low, we must choose a write through or write back consistency policy.

Cache management is important because of its relation to cache hit ratios and performance. We talk about various scenarios in a distributed environment.

System Design Video Course:
https://get.interviewready.io/courses/system-design-interview-prep

A complete course on how systems are designed. Along with video lectures, the course has architecture diagrams, capacity planning, API contracts and evaluation tests.

Use the coupon code 'earlybird' for a 20% discount!

Preparing for design Interviews? Check out the "Grokking the system design interview" course:
https://www.educative.io/collection/5668639101419520/5649050225344512?affiliate_id=4793322061168640

System Design Playlist: https://www.youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX
Designing Data Intensive Applications - https://amzn.to/2yQIrxH

Code: https://github.com/coding-parrot/Low-Level-Design/tree/master/distributed-cache

You can follow me on:
Facebook: https://facebook.com/gkcs0/
Quora: https://www.quora.com/profile/Gaurav-Sen-6
LinkedIn: https://www.linkedin.com/in/gaurav-sen-56b6a941/
Twitter: https://twitter.com/gkcs_

References:
Guava Cache - https://github.com/google/guava/wiki/CachesExplained
LRU - http://www.mathcs.emory.edu/~cheung/Courses/355/Syllabus/9-virtual-mem/LRU-replace.html
https://en.wikipedia.org/wiki/Cache_replacement_policies
Implementation of Sliding Window Cache policies (Caffeine) - https://github.com/ben-manes/caffeine
http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html
https://docs.microsoft.com/en-us/previous-versions/msp-n-p/dn589802(v%3dpandp.10)

#SystemDesign #Caching #DistributedSystems
Category
Network Storage
Be the first to comment