https://medium.com/@animeshgaitonde/everything-you-need-to-know-about-caching-system-design-932a6bdf3334