Caching helps data load faster by storing copies nearby. Using good caching patterns makes your app quick and reliable.
Why caching patterns matter in Redis
Introduction
Syntax
Redis
SET key value GET key DEL key EXPIRE key seconds
SET saves data in cache with a key.
GET retrieves data by key.
DEL removes data from cache.
EXPIRE sets how long data stays in cache.
Examples
Redis
SET user:123 "John Doe"
Redis
GET user:123Redis
EXPIRE user:123 60
Redis
DEL user:123Sample Program
This example stores the number 100 as views for the home page, retrieves it, sets it to expire in 10 seconds, then retrieves it again.
Redis
SET page:view:home 100 GET page:view:home EXPIRE page:view:home 10 GET page:view:home
Important Notes
Always set expiration times to avoid stale data.
Use meaningful keys to organize cached data clearly.
Cache only data that is expensive to get or compute.
Summary
Caching stores data to make apps faster.
Good caching patterns keep data fresh and reduce load.
Use keys, expiration, and deletion wisely for best results.
Practice
1. Why is caching important in Redis when building applications?
easy
Solution
Step 1: Understand caching purpose
Caching temporarily stores data to reduce the time needed to get it again.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.Final Answer:
It stores data temporarily to make data retrieval faster -> Option DQuick 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
Solution
Step 1: Recall Redis syntax for setting key with expiration
The correct command is SET with EX option to set expiration in seconds.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.Final Answer:
SET key value EX 60 -> Option BQuick 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:
What will the GET command return if run 15 seconds after the SET?
SET user:1 "Alice" EX 10
GET user:1What will the GET command return if run 15 seconds after the SET?
medium
Solution
Step 1: Understand expiration effect
SET with EX 10 means key expires after 10 seconds, so after 15 seconds key is gone.Step 2: Predict GET result after expiration
GET on expired key returns nil (no value), not error or empty string.Final Answer:
nil -> Option AQuick 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:
What is the problem with this code?
SET session:123 "active"
EXPIRE session:123 0What is the problem with this code?
medium
Solution
Step 1: Understand EXPIRE with 0 seconds
EXPIRE with 0 seconds deletes the key immediately.Step 2: Identify the effect on the key
After EXPIRE session:123 0, the key is deleted immediately, which may be unintended.Final Answer:
Expiration time 0 deletes the key immediately -> Option CQuick 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
Solution
Step 1: Understand caching with data freshness
To keep data fresh, cache keys should expire and be deleted when data changes.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.Final Answer:
Set key with expiration and delete key on user update -> Option AQuick 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
10 questions ~5 mineasy hard
