Bird
Raised Fist0
Redisquery~10 mins

Why caching patterns matter in Redis - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set a key-value pair in Redis.

Redis
redis_client.[1]('user:1', 'Alice')
Drag options to blanks, or click blank then click option'
Aset
Bget
Cdelete
Dexpire
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'get' instead of 'set' to store data.
Using 'expire' which sets a timeout, not the value.
2fill in blank
medium

Complete the code to retrieve a value by key from Redis.

Redis
value = redis_client.[1]('user:1')
Drag options to blanks, or click blank then click option'
Adel
Bset
Cexpire
Dget
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'set' which writes data instead of reading.
Using 'del' which deletes keys.
3fill in blank
hard

Fix the error in the code to set a key with expiration time.

Redis
redis_client.set('session:123', 'active', [1]=3600)
Drag options to blanks, or click blank then click option'
Atimeout
Bex
Cexpire
Dttl
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'expire' as a parameter in set instead of 'ex'.
Using 'ttl' which is a command to check time left.
4fill in blank
hard

Fill both blanks to implement a cache check and set pattern.

Redis
value = redis_client.[1]('item:42')
if value is None:
    value = fetch_from_db('item:42')
    redis_client.[2]('item:42', value, ex=300)
Drag options to blanks, or click blank then click option'
Aget
Bset
Cdelete
Dexpire
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'set' to read or 'get' to write.
Using 'expire' instead of 'set' to write data.
5fill in blank
hard

Fill all three blanks to implement a cache invalidation after update.

Redis
redis_client.[1]('product:99')
update_database('product:99', new_data)
redis_client.[2]('product:99', new_data)
redis_client.[3]('product:99', 600)
Drag options to blanks, or click blank then click option'
Adelete
Bset
Cexpire
Dget
Attempts:
3 left
💡 Hint
Common Mistakes
Not deleting old cache before updating.
Using 'get' instead of 'delete' to remove cache.

Practice

(1/5)
1. Why is caching important in Redis when building applications?
easy
A. It slows down the application by adding extra steps
B. It permanently saves all data without expiration
C. It deletes all data immediately after storing
D. It stores data temporarily to make data retrieval faster

Solution

  1. Step 1: Understand caching purpose

    Caching temporarily stores data to reduce the time needed to get it again.
  2. Step 2: Identify correct caching behavior in Redis

    Redis caching speeds up apps by storing data for quick access, not permanent saving or immediate deletion.
  3. Final Answer:

    It stores data temporarily to make data retrieval faster -> Option D
  4. Quick Check:

    Caching = Temporary fast storage [OK]
Hint: Caching means temporary storage for speed, not permanent save [OK]
Common Mistakes:
  • Thinking caching saves data permanently
  • Believing caching slows down the app
  • Confusing caching with immediate data deletion
2. Which Redis command correctly sets a key with an expiration time of 60 seconds?
easy
A. GET key EX 60
B. SET key value EX 60
C. DEL key 60
D. EXPIRE key SET 60

Solution

  1. Step 1: Recall Redis syntax for setting key with expiration

    The correct command is SET with EX option to set expiration in seconds.
  2. Step 2: Check each option's correctness

    SET key value EX 60 uses SET key value EX 60 which is valid. Others misuse commands or order.
  3. Final Answer:

    SET key value EX 60 -> Option B
  4. Quick Check:

    SET with EX sets key and expiration [OK]
Hint: Use SET with EX to set expiration in seconds [OK]
Common Mistakes:
  • Using GET instead of SET to set values
  • Misplacing EXPIRE and SET commands
  • Trying to delete keys with expiration time
3. Given this Redis command sequence:
SET user:1 "Alice" EX 10
GET user:1

What will the GET command return if run 15 seconds after the SET?
medium
A. nil
B. Empty string
C. Error: key expired
D. "Alice"

Solution

  1. Step 1: Understand expiration effect

    SET with EX 10 means key expires after 10 seconds, so after 15 seconds key is gone.
  2. Step 2: Predict GET result after expiration

    GET on expired key returns nil (no value), not error or empty string.
  3. Final Answer:

    nil -> Option A
  4. Quick Check:

    Expired key returns nil on GET [OK]
Hint: GET returns nil if key expired before access [OK]
Common Mistakes:
  • Expecting old value after expiration
  • Thinking GET returns error on expired keys
  • Confusing empty string with nil
4. You wrote this Redis code:
SET session:123 "active"
EXPIRE session:123 0

What is the problem with this code?
medium
A. EXPIRE command syntax is incorrect
B. Key will never expire because 0 means infinite
C. Expiration time 0 deletes the key immediately
D. SET command must include expiration time

Solution

  1. Step 1: Understand EXPIRE with 0 seconds

    EXPIRE with 0 seconds deletes the key immediately.
  2. Step 2: Identify the effect on the key

    After EXPIRE session:123 0, the key is deleted immediately, which may be unintended.
  3. Final Answer:

    Expiration time 0 deletes the key immediately -> Option C
  4. Quick Check:

    EXPIRE 0 deletes key immediately [OK]
Hint: EXPIRE 0 deletes key immediately [OK]
Common Mistakes:
  • Thinking EXPIRE 0 removes expiration (never expires)
  • Assuming EXPIRE syntax is wrong
  • Believing SET must always have expiration
5. You want to cache user profile data in Redis but ensure it updates if the user changes their info. Which caching pattern is best?
hard
A. Set key with expiration and delete key on user update
B. Set key without expiration and never delete it
C. Set key with very long expiration and ignore updates
D. Do not cache user data at all

Solution

  1. Step 1: Understand caching with data freshness

    To keep data fresh, cache keys should expire and be deleted when data changes.
  2. Step 2: Evaluate options for update handling

    Set key with expiration and delete key on user update uses expiration and deletes key on update, ensuring fresh data. Others risk stale data or no caching.
  3. Final Answer:

    Set key with expiration and delete key on user update -> Option A
  4. Quick Check:

    Expire + delete on update keeps cache fresh [OK]
Hint: Expire keys and delete on update to keep cache fresh [OK]
Common Mistakes:
  • Not deleting keys on data change
  • Using no expiration causing stale cache
  • Avoiding caching user data unnecessarily
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