Bird
Raised Fist0
Azurecloud~5 mins

CDN caching rules in Azure - Time & Space Complexity

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Time Complexity: CDN caching rules
O(n)
Understanding Time Complexity

We want to understand how the time to apply CDN caching rules changes as we add more rules.

Specifically, how does the system handle more rules when deciding what to cache?

Scenario Under Consideration

Analyze the time complexity of the following Azure CDN caching rules setup.


// Create CDN endpoint
az cdn endpoint create --name myEndpoint --profile-name myProfile --resource-group myResourceGroup --origin myOrigin

// Add caching rules
az cdn endpoint rule add --endpoint-name myEndpoint --profile-name myProfile --resource-group myResourceGroup --order 1 --action CacheExpiration --cache-behavior Override --cache-duration 3600
az cdn endpoint rule add --endpoint-name myEndpoint --profile-name myProfile --resource-group myResourceGroup --order 2 --action CacheExpiration --cache-behavior BypassCache
    

This sequence creates a CDN endpoint and adds caching rules that control how content is cached or bypassed.

Identify Repeating Operations

Look at what happens repeatedly when the CDN processes requests with caching rules.

  • Primary operation: Checking each caching rule in order to decide cache behavior.
  • How many times: Once per incoming request, checking rules sequentially until a match is found.
How Execution Grows With Input

As the number of caching rules increases, the CDN checks more rules for each request.

Input Size (n rules)Approx. Rule Checks per Request
10Up to 10 checks
100Up to 100 checks
1000Up to 1000 checks

Pattern observation: The number of checks grows directly with the number of rules.

Final Time Complexity

Time Complexity: O(n)

This means the time to decide caching behavior grows linearly with the number of caching rules.

Common Mistake

[X] Wrong: "Adding more caching rules does not affect request processing time."

[OK] Correct: Each request must check rules in order, so more rules mean more checks and longer processing time.

Interview Connect

Understanding how rule checks scale helps you design efficient CDN configurations and shows you can think about system performance clearly.

Self-Check

"What if the CDN used a hash map to find the matching caching rule instead of checking rules in order? How would the time complexity change?"

Practice

(1/5)
1. What is the primary purpose of CDN caching rules in Azure CDN?
easy
A. To monitor server CPU usage
B. To encrypt data between client and server
C. To control how content is stored and served from CDN servers
D. To manage user authentication

Solution

  1. Step 1: Understand CDN caching rules

    CDN caching rules define how content is cached and delivered by CDN servers.
  2. Step 2: Identify the main goal

    The main goal is to improve speed and reduce load by controlling content storage and delivery.
  3. Final Answer:

    To control how content is stored and served from CDN servers -> Option C
  4. Quick Check:

    CDN caching rules = control content caching [OK]
Hint: Caching rules control content storage and delivery [OK]
Common Mistakes:
  • Confusing caching with encryption
  • Thinking caching manages authentication
  • Assuming caching monitors server CPU
2. Which Azure CDN caching rule syntax correctly sets a cache duration of 3600 seconds for all images?
easy
A. cache-duration: 3600; match: *.jpg, *.png
B. cache-control: max-age=3600; match: *.jpg, *.png
C. cache-control: max-age=3600; match: images/*
D. cache-duration: max-age=3600; match: images/*

Solution

  1. Step 1: Identify correct cache-control syntax

    Azure CDN uses 'cache-control: max-age=seconds' to set cache duration.
  2. Step 2: Match correct file patterns

    Images are matched by extensions like '*.jpg, *.png' not 'images/*'.
  3. Final Answer:

    cache-control: max-age=3600; match: *.jpg, *.png -> Option B
  4. Quick Check:

    cache-control max-age + correct pattern = cache-control: max-age=3600; match: *.jpg, *.png [OK]
Hint: Use 'cache-control: max-age' with file extensions for images [OK]
Common Mistakes:
  • Using 'cache-duration' instead of 'cache-control'
  • Using folder pattern 'images/*' instead of file extensions
  • Mixing syntax keywords incorrectly
3. Given this Azure CDN caching rule:
cache-control: max-age=0; match: /api/*
What will happen when a user requests /api/data?
medium
A. Content will be blocked by CDN
B. Content will be cached indefinitely
C. Content will be cached for 3600 seconds
D. Content will be cached for 0 seconds, forcing CDN to fetch fresh data every time

Solution

  1. Step 1: Interpret max-age=0 meaning

    max-age=0 means no caching; content is always fresh.
  2. Step 2: Apply rule to /api/* path

    Requests to /api/data match /api/*, so caching is disabled.
  3. Final Answer:

    Content will be cached for 0 seconds, forcing CDN to fetch fresh data every time -> Option D
  4. Quick Check:

    max-age=0 disables caching = Content will be cached for 0 seconds, forcing CDN to fetch fresh data every time [OK]
Hint: max-age=0 means no caching, always fresh content [OK]
Common Mistakes:
  • Assuming max-age=0 caches content indefinitely
  • Confusing path matching syntax
  • Thinking content is blocked
4. You wrote this Azure CDN caching rule:
cache-control max-age=600; match: *.css
But it does not work as expected. What is the error?
medium
A. Missing colon after 'cache-control'
B. Incorrect file extension pattern
C. max-age value too low
D. Match pattern should be a full URL

Solution

  1. Step 1: Check syntax for cache-control

    The correct syntax requires a colon after 'cache-control', like 'cache-control: max-age=600'.
  2. Step 2: Validate other parts

    File extension '*.css' is correct; max-age=600 is valid; match pattern does not require full URL.
  3. Final Answer:

    Missing colon after 'cache-control' -> Option A
  4. Quick Check:

    Syntax error: missing colon = Missing colon after 'cache-control' [OK]
Hint: Remember colon after 'cache-control:' in rules [OK]
Common Mistakes:
  • Omitting colon after 'cache-control'
  • Using wrong file patterns
  • Thinking max-age value causes failure
5. You want to optimize caching for a website with static images and dynamic API data. Which Azure CDN caching rules setup is best?
hard
A. Set cache-control: max-age=86400 for images (*.jpg, *.png) and cache-control: max-age=0 for API (/api/*)
B. Set cache-control: max-age=0 for all content
C. Set cache-control: max-age=3600 for all content
D. Set cache-control: max-age=86400 for API and cache-control: max-age=0 for images

Solution

  1. Step 1: Understand content types and caching needs

    Static images benefit from long caching (86400 seconds = 1 day). Dynamic API data needs fresh content, so max-age=0.
  2. Step 2: Match rules to content paths

    Apply long cache to image extensions (*.jpg, *.png) and no cache to API paths (/api/*).
  3. Final Answer:

    Set cache-control: max-age=86400 for images (*.jpg, *.png) and cache-control: max-age=0 for API (/api/*) -> Option A
  4. Quick Check:

    Static long cache + dynamic no cache = Set cache-control: max-age=86400 for images (*.jpg, *.png) and cache-control: max-age=0 for API (/api/*) [OK]
Hint: Long cache for static, no cache for dynamic content [OK]
Common Mistakes:
  • Caching dynamic API data too long
  • Not differentiating static and dynamic content
  • Reversing cache durations for content types