📖 Scenario: You are building a simple session manager for a website. Each user session should be stored temporarily in Redis and automatically removed after a short time to keep the system clean.
🎯 Goal: Create a Redis key-value pair to store a user session with a time-to-live (TTL) so it expires automatically after 10 seconds.
📋 What You'll Learn
Create a Redis key called session:user123 with the value active
Set the TTL of the key session:user123 to 10 seconds
Verify the TTL is set correctly
💡 Why This Matters
🌍 Real World
Temporary data like user sessions, cache entries, or tokens often need automatic expiration to save memory and keep data fresh.
💼 Career
Understanding TTL in Redis is essential for backend developers and system administrators managing session stores, caches, or real-time data.
Progress0 / 4 steps
1
Create a Redis key for the user session
Use the Redis command SET to create a key called session:user123 with the value active.
Redis
Hint
Use SET key value to create a key with a value in Redis.
2
Set the TTL for the session key
Use the Redis command EXPIRE to set the TTL of session:user123 to 10 seconds.
Redis
Hint
Use EXPIRE key seconds to set how long the key should live.
3
Check the TTL of the session key
Use the Redis command TTL to check the remaining time to live of session:user123.
Redis
Hint
Use TTL key to see how many seconds remain before the key expires.
4
Combine setting the key and TTL in one command
Use the Redis SET command with the EX option to set session:user123 to active and expire after 10 seconds in a single command.
Redis
Hint
You can set a key with expiration in one step using SET key value EX seconds.
Practice
(1/5)
1. What does the EX option do when used with the Redis SET command?
easy
A. Deletes the key immediately after setting it
B. Sets a time-to-live (TTL) in seconds for the key, after which it expires
C. Sets the key to be persistent and never expire
D. Renames the key to a new name
Solution
Step 1: Understand the SET command with EX option
The SET command stores a key-value pair. The EX option specifies the expiration time in seconds.
Step 2: Effect of EX on the key
When EX is used, the key will automatically be deleted after the given time passes.
Final Answer:
Sets a time-to-live (TTL) in seconds for the key, after which it expires -> Option B
Quick Check:
EX = TTL in seconds [OK]
Hint: EX sets expiration time in seconds for keys [OK]
Common Mistakes:
Thinking EX makes the key permanent
Confusing EX with immediate deletion
Assuming EX renames the key
2. Which of the following is the correct syntax to set a key session with value abc123 that expires in 120 seconds in Redis?
easy
A. SET session abc123 PX 120
B. SET session EX 120 abc123
C. SET EX 120 session abc123
D. SET session abc123 EX 120
Solution
Step 1: Recall Redis SET command syntax with EX
The correct syntax is SET key value EX seconds.
Step 2: Match the syntax with options
SET session abc123 EX 120 matches the correct order: key, value, EX, seconds.
Final Answer:
SET session abc123 EX 120 -> Option D
Quick Check:
SET key value EX seconds [OK]
Hint: Remember: SET key value EX seconds order [OK]
Common Mistakes:
Placing EX before the key or value
Using PX instead of EX for seconds
Mixing order of arguments
3. Given the commands below, what will be the output of TTL user:123 immediately after execution?
SET user:123 "John" EX 60
TTL user:123
medium
A. 60
B. -1
C. -2
D. 0
Solution
Step 1: Understand the SET with EX 60
The key user:123 is set with a TTL of 60 seconds.
Step 2: Check TTL command output
The TTL command returns the remaining time to live in seconds. Immediately after setting, it should be 60.
Final Answer:
60 -> Option A
Quick Check:
TTL after SET with EX 60 = 60 [OK]
Hint: TTL shows seconds left, right after SET with EX it's full time [OK]
Common Mistakes:
Expecting TTL to return -1 (no expiration)
Confusing -2 (key does not exist) with TTL
Thinking TTL returns 0 immediately
4. You run the following commands:
SET temp_key "data" EX 30
EXPIRE temp_key 60
TTL temp_key
What will TTL temp_key return?
medium
A. 60
B. 30
C. -1
D. -2
Solution
Step 1: SET with EX 30 sets TTL to 30 seconds
The key temp_key initially has 30 seconds TTL.
Step 2: EXPIRE command updates TTL to 60 seconds
The EXPIRE temp_key 60 resets the TTL to 60 seconds.
5. You want to store a temporary login token in Redis that expires after 5 minutes. Which sequence of commands correctly sets the token and checks its remaining TTL after 3 minutes?
hard
A. SET login_token abc EX 300
SLEEP 180
EXISTS login_token
B. SET login_token abc PX 300
WAIT 180
EXISTS login_token
C. SET login_token abc EX 300
SLEEP 180
TTL login_token
D. SET login_token abc EX 300
WAIT 180
EXISTS login_token
Solution
Step 1: Use SET with EX 300 for 5 minutes expiration
The command SET login_token abc EX 300 sets the token with 300 seconds TTL.
Step 2: Wait 180 seconds (3 minutes) and check TTL
Using SLEEP 180 simulates waiting. Then TTL login_token shows remaining time, confirming token still exists.
Step 3: EXISTS only returns 1 or 0, TTL shows time left
Checking TTL is better to confirm token is still valid and how long it lasts.
Final Answer:
SET login_token abc EX 300
SLEEP 180
TTL login_token -> Option C
Quick Check:
SET with EX + wait + TTL check = correct flow [OK]
Hint: Use SET with EX, wait, then TTL to check remaining time [OK]
Common Mistakes:
Using PX instead of EX for seconds
Using WAIT instead of SLEEP (WAIT waits for replicas, not sleep)
Using EXISTS which only returns existence, not TTL
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.