📖 Scenario: You are managing a simple cache system for a website. You want to store user session tokens in Redis with an expiration time so that sessions automatically expire after some time.
🎯 Goal: Learn how to use the Redis SET command with expiration options EX (seconds) and PX (milliseconds) to store keys that expire automatically.
📋 What You'll Learn
Create a Redis key-value pair for a user session token
Set the key to expire after a certain number of seconds using EX
Set another key to expire after a certain number of milliseconds using PX
Verify the correct syntax for the SET command with expiry options
💡 Why This Matters
🌍 Real World
Web applications often store session tokens or cache data in Redis with expiry to automatically remove stale data.
💼 Career
Knowing how to set keys with expiry in Redis is essential for backend developers and DevOps engineers managing scalable, performant applications.
Progress0 / 4 steps
1
Create a Redis key for a user session token
Use the Redis SET command to create a key called session:user123 with the value token_abc123.
Redis
Hint
Use SET key value to store a key-value pair in Redis.
2
Add expiry in seconds using EX option
Modify the SET command to set the key session:user123 with value token_abc123 to expire after 300 seconds using the EX option.
Redis
Hint
Use EX seconds after the value to set expiry in seconds.
3
Create another key with expiry in milliseconds using PX option
Use the Redis SET command to create a key called session:user456 with value token_xyz789 that expires after 15000 milliseconds using the PX option.
Redis
Hint
Use PX milliseconds after the value to set expiry in milliseconds.
4
Complete the Redis commands with expiry options
Ensure both keys session:user123 and session:user456 are set with their respective expiry options using the SET command with EX and PX.
Redis
Hint
Both commands should include the expiry options exactly as shown.
Practice
(1/5)
1. What does the EX option do when used with the Redis SET command?
easy
A. Sets the key to expire after a specified number of seconds
B. Sets the key to expire after a specified number of milliseconds
C. Sets the key without any expiration
D. Deletes the key immediately after setting it
Solution
Step 1: Understand the EX option in Redis SET
The EX option sets the expiration time in seconds for the key.
Step 2: Compare EX with other expiry options
PX sets expiry in milliseconds, so EX is specifically for seconds.
Final Answer:
Sets the key to expire after a specified number of seconds -> Option A
Quick Check:
EX = seconds expiry [OK]
Hint: EX means seconds expiry, PX means milliseconds expiry [OK]
Common Mistakes:
Confusing EX with PX and thinking EX is milliseconds
Assuming EX sets no expiry
Thinking EX deletes the key immediately
2. Which of the following is the correct syntax to set a key session with value abc123 that expires in 10 seconds using Redis?
easy
A. SET session abc123 EXPIRE 10
B. SET session EX 10 abc123
C. SET session abc123 PX 10
D. SET session abc123 EX 10
Solution
Step 1: Recall Redis SET command syntax with expiry
The correct syntax is: SET key value EX seconds.
Step 2: Check each option for correct order and keyword
SET session abc123 EX 10 matches the correct order and uses EX for seconds expiry.
Final Answer:
SET session abc123 EX 10 -> Option D
Quick Check:
SET key value EX seconds = correct syntax [OK]
Hint: Remember: SET key value EX seconds [OK]
Common Mistakes:
Placing EX before the value
Using PX instead of EX for seconds
Using EXPIRE keyword inside SET command
3. What will be the output of the following Redis commands executed in order?
SET temp 100 PX 5000
TTL temp
medium
A. An integer close to 5
B. 5
C. 0
D. -1
Solution
Step 1: Understand PX expiry in SET command
PX 5000 sets the key to expire in 5000 milliseconds (5 seconds).
Step 2: Interpret TTL command output
TTL returns time to live in seconds. Since expiry was set in milliseconds, TTL rounds to nearest second.
Step 3: Predict TTL value
TTL will return an integer close to 5 seconds, depending on execution time.
Final Answer:
An integer close to 5 -> Option A
Quick Check:
PX 5000 ms = ~5 seconds TTL [OK]
Hint: TTL returns seconds even if PX used for expiry [OK]
Common Mistakes:
Expecting TTL to return milliseconds
Thinking TTL returns 0 immediately
Assuming TTL returns -1 for keys with expiry
4. Identify the error in this Redis command:
SET user123 "John" EXPIRE 20
medium
A. Value should not be in quotes
B. EXPIRE is not valid inside SET command
C. Missing quotes around key
D. EXPIRE should be PX for milliseconds
Solution
Step 1: Check Redis SET command syntax
SET command uses EX or PX for expiry, not EXPIRE keyword.
Step 2: Identify misuse of EXPIRE keyword
EXPIRE is a separate command, not an option inside SET.
Final Answer:
EXPIRE is not valid inside SET command -> Option B
Quick Check:
Use EX or PX inside SET, not EXPIRE [OK]
Hint: Use EX or PX with SET, EXPIRE is separate command [OK]
Common Mistakes:
Using EXPIRE inside SET command
Confusing EXPIRE command with expiry option
Misplacing quotes around key or value
5. You want to store a temporary API token in Redis that expires exactly after 1500 milliseconds. Which command correctly sets the key api_token with value xyz789 and the required expiry?
hard
A. SET api_token xyz789 EX 1.5
B. SET api_token xyz789 EX 1500
C. SET api_token xyz789 PX 1500
D. SET api_token xyz789 PX 1.5
Solution
Step 1: Determine correct expiry option for milliseconds
PX sets expiry in milliseconds, EX uses seconds only.
Step 2: Check value format for PX
PX requires integer milliseconds, so 1500 is valid, decimals like 1.5 are invalid.
Step 3: Validate each option
SET api_token xyz789 PX 1500 uses PX 1500 correctly; others use wrong units or decimals.
Final Answer:
SET api_token xyz789 PX 1500 -> Option C
Quick Check:
Milliseconds expiry = PX integer value [OK]
Hint: Use PX with integer milliseconds for precise expiry [OK]
Common Mistakes:
Using EX with decimal seconds
Using PX with decimal instead of integer
Confusing EX and PX units
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.