Bird
Raised Fist0
HLDsystem_design~12 mins

Why caching reduces latency in HLD - Architecture Impact

Choose your learning style10 modes available
System Overview - Why caching reduces latency

This system shows how caching helps reduce the time it takes to get data. When a user asks for information, the system first checks a fast storage called cache. If the data is there, it returns quickly. If not, it gets the data from the slower database and saves it in the cache for next time.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  v
Service
  |
  +-----> Cache
  |         |
  |         v
  +------> Database
Components
User
user
Sends requests to get data
Load Balancer
load_balancer
Distributes incoming requests evenly to services
API Gateway
api_gateway
Handles client requests and routes them to the service
Service
service
Processes requests, checks cache, and fetches data
Cache
cache
Stores frequently accessed data for fast retrieval
Database
database
Stores all persistent data, slower to access
Request Flow - 11 Hops
User → Load Balancer
Load Balancer → API Gateway
API Gateway → Service
Service → Cache
Cache → Service
Service → Database
Database → Service
Service → Cache
Service → API Gateway
API Gateway → Load Balancer
Load Balancer → User
Failure Scenario
Component Fails:Cache
Impact:Cache misses increase, causing all requests to hit the slower database, increasing latency
Mitigation:System continues to work by querying the database directly; cache can be restored or replaced without downtime
Architecture Quiz - 3 Questions
Test your understanding
Why does the system check the cache before the database?
ABecause the cache stores all data permanently
BBecause the database is unreliable
CBecause cache is faster to access than the database
DBecause the user requests the cache directly
Design Principle
Caching reduces latency by storing frequently requested data in a fast-access layer. This avoids repeated slow database queries, improving user experience and system efficiency.

Practice

(1/5)
1. Why does caching reduce latency in a system?
easy
A. Because it stores frequently accessed data closer to the user, reducing access time.
B. Because it increases the number of servers in the system.
C. Because it compresses data to make it smaller.
D. Because it deletes old data from the database.

Solution

  1. Step 1: Understand caching location

    Caching stores data near the user or application, such as in memory or edge servers.
  2. Step 2: Effect on access time

    Accessing data from cache is faster than fetching from the main database or server, reducing waiting time.
  3. Final Answer:

    Because it stores frequently accessed data closer to the user, reducing access time. -> Option A
  4. Quick Check:

    Caching reduces latency by storing data close [OK]
Hint: Caching stores data near users to speed up access [OK]
Common Mistakes:
  • Thinking caching increases servers
  • Confusing caching with data compression
  • Believing caching deletes data
2. Which of the following is the correct way to describe caching in system design?
easy
A. Caching permanently deletes old data to save space.
B. Caching is a process of storing data in a remote backup server.
C. Caching temporarily stores data in a fast-access location to reduce retrieval time.
D. Caching encrypts data to improve security.

Solution

  1. Step 1: Define caching purpose

    Caching temporarily holds data in a fast-access place like memory or local storage.
  2. Step 2: Identify correct description

    Only caching temporarily stores data in a fast-access location to reduce retrieval time correctly states caching reduces retrieval time by temporary storage.
  3. Final Answer:

    Caching temporarily stores data in a fast-access location to reduce retrieval time. -> Option C
  4. Quick Check:

    Caching = temporary fast storage [OK]
Hint: Caching is temporary fast storage, not permanent or remote [OK]
Common Mistakes:
  • Confusing caching with backup storage
  • Thinking caching deletes data
  • Mixing caching with encryption
3. Consider a system where fetching data from the main database takes 100ms, and fetching from cache takes 10ms. If 80% of requests hit the cache, what is the average latency per request?
medium
A. 18 ms
B. 90 ms
C. 50 ms
D. 28 ms

Solution

  1. Step 1: Calculate cache hit and miss times

    Cache hit latency = 10ms (80% requests), cache miss latency = 100ms (20% requests).
  2. Step 2: Compute weighted average latency

    Average latency = (0.8 * 10) + (0.2 * 100) = 8 + 20 = 28 ms.
  3. Final Answer:

    28 ms -> Option D
  4. Quick Check:

    Average latency = hit%*hit_time + miss%*miss_time [OK]
Hint: Use weighted average: hit%*hit_time + miss%*miss_time [OK]
Common Mistakes:
  • Ignoring cache miss latency
  • Adding times instead of weighted average
  • Using wrong percentages
4. A system uses caching but users still experience high latency. Which of the following is a likely cause?
medium
A. Cache encrypts data, increasing retrieval time.
B. Cache hit rate is very low, so most requests go to the slow database.
C. Cache size is too large, slowing down the system.
D. Cache stores data permanently, causing outdated results.

Solution

  1. Step 1: Analyze cache hit rate impact

    If cache hit rate is low, most requests bypass cache and hit slow database, increasing latency.
  2. Step 2: Evaluate other options

    Permanent storage or encryption are not typical causes of high latency; large cache size usually improves speed.
  3. Final Answer:

    Cache hit rate is very low, so most requests go to the slow database. -> Option B
  4. Quick Check:

    Low cache hit rate = high latency [OK]
Hint: Low cache hit rate means slow database access dominates [OK]
Common Mistakes:
  • Assuming cache size slows system
  • Confusing cache permanence with latency
  • Thinking encryption is main latency cause
5. In a large-scale web application, which caching strategy best reduces latency while keeping data fresh?
hard
A. Use a cache with a short expiration time and update cache asynchronously on data changes.
B. Use a cache that never expires and manually clear it once a month.
C. Disable caching and always fetch fresh data from the database.
D. Cache only rarely accessed data to save memory.

Solution

  1. Step 1: Understand freshness and latency tradeoff

    Short expiration keeps data fresh; asynchronous updates reduce latency by avoiding blocking calls.
  2. Step 2: Evaluate other options

    Never expiring cache risks stale data; disabling cache increases latency; caching rarely accessed data wastes resources.
  3. Final Answer:

    Use a cache with a short expiration time and update cache asynchronously on data changes. -> Option A
  4. Quick Check:

    Short expiry + async update = fresh data + low latency [OK]
Hint: Short expiry plus async update balances freshness and speed [OK]
Common Mistakes:
  • Choosing never expiring cache causing stale data
  • Disabling cache increases latency
  • Caching rarely accessed data wastes resources
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard