Cache is everywhere. It’s a clever way to save time, work faster, and sometimes, just be a little lazy.
Your water bottle is a cache for water - you don’t need to go to the tap every time you’re thirsty.
Your refrigerator or pantry stores food and is a cache - so you don’t have to shop for every meal.
I once saw a tweet that said the clothes on your chair are a cache - a quick way to grab what you need without opening and searching through the closet.
Cache is a small memory where data is stored temporarily for faster access. This data is typically the one which is frequently accessed, recently accessed or both. By storing this data in cache, it allows faster retrieval whenever it’s needed again.
Browsers save images, files, and scripts so websites load faster the next time you visit.
Databases store the results of frequently or recently executed queries to reduce server load.
Apps use cache to store temporary data, so they don’t have to fetch or process the same information repeatedly.
In fact, caching is so widely used that it’s easier to ask, “Where isn’t caching used?” Even real-time applications like High-Frequency Trading(HFT) and Real-Time Multiplayer Gaming use some form of caching.
*My silly representation of how cache works.
If you’re building a website or app, caching is one of the easiest and most effective ways to make it faster and handle more users. It reduces the time it takes to load data and saves resources by avoiding unnecessary work.
Here’s how you can think about it:
What should you cache? Save the data that is frequently accessed or that takes a long time to get.
How long should you cache it? Make sure your cache doesn’t get too old and show outdated information.
Where will you store the cache? Sometimes it’s on the user’s device, sometimes on the server, and sometimes in special tools like Redis or Memcached.
Caching is not just a good practice, it’s essential for building scalable, high-performance applications.
What are some other real-life scenarios where you've cleverly used caching to avoid doing actual work?
Community|Blog|Logic Puzzles|Careers|Contact Us
Have Feedback or want to contribute? Email: hello[@]100DaysOfCode.io
100DaysOfCode@2024