📖 Scenario: You are building a simple web application that shows product details. To make the app faster and reduce load on the main database, you want to use Redis caching.This project will help you understand why caching patterns matter by creating a basic Redis cache setup and using it to store and retrieve product data.
🎯 Goal: Build a Redis caching example that stores product information, sets a cache expiration time, retrieves cached data, and updates the cache when needed.
📋 What You'll Learn
Create a Redis hash to store product details
Set a cache expiration time for the product data
Retrieve product data from the cache
Update the cached product data
💡 Why This Matters
🌍 Real World
Caching product data in Redis speeds up web applications by reducing database load and improving response times.
💼 Career
Understanding caching patterns with Redis is essential for backend developers and system architects to build scalable, high-performance applications.
Progress0 / 4 steps
1
Create a Redis hash for product details
Create a Redis hash called product:1001 with these fields and values: name set to "Wireless Mouse", price set to 25.99, and stock set to 100.
Redis
Hint
Use the HSET command to create a hash with multiple fields in Redis.
2
Set cache expiration time
Set an expiration time of 3600 seconds (1 hour) on the Redis key product:1001 to ensure the cache refreshes periodically.
Redis
Hint
Use the EXPIRE command to set a time-to-live on a Redis key.
3
Retrieve product data from cache
Use the HGETALL command to retrieve all fields and values from the Redis hash product:1001.
Redis
Hint
The HGETALL command returns all fields and values in a hash.
4
Update cached product stock
Update the stock field in the Redis hash product:1001 to 95 to reflect a recent sale.
Redis
Hint
Use HSET again to update a single field in the hash.
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
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 D
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
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 B
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
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 A
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
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 C
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
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 A
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 unknownstrongwhile earning +1 Grip toward your certificate.