📖 Scenario: You are managing a Redis database for a web application that stores temporary session data for users. To keep the database clean and efficient, you want to set expiration times on session keys so they automatically get deleted after a certain period.
🎯 Goal: Learn how to set expiration times on Redis keys using the EXPIRE command and check the remaining time-to-live with the TTL command.
📋 What You'll Learn
Create a Redis key with a session ID and a value
Set an expiration time of 120 seconds on the session key using EXPIRE
Check the remaining time-to-live of the session key using TTL
Set a new expiration time of 300 seconds on the session key
💡 Why This Matters
🌍 Real World
Setting expiration times on session keys helps automatically clean up old sessions, saving memory and improving performance in web applications.
💼 Career
Understanding EXPIRE and TTL commands is essential for backend developers and DevOps engineers managing Redis databases to ensure efficient data lifecycle management.
Progress0 / 4 steps
1
Create a session key in Redis
Create a Redis key called session:12345 with the value user_data using the SET command.
Redis
Hint
Use the SET command followed by the key and value.
2
Set expiration time on the session key
Use the EXPIRE command to set the expiration time of 120 seconds on the Redis key session:12345.
Redis
Hint
The EXPIRE command takes the key name and the number of seconds before expiration.
3
Check the time-to-live of the session key
Use the TTL command to check the remaining time-to-live of the Redis key session:12345.
Redis
Hint
The TTL command returns the remaining seconds before the key expires.
4
Update the expiration time on the session key
Use the EXPIRE command again to update the expiration time to 300 seconds on the Redis key session:12345.
Redis
Hint
You can reset the expiration time by calling EXPIRE again with a new time.
Practice
(1/5)
1. What does the Redis command EXPIRE key 60 do?
easy
A. Returns the remaining time to live for the key.
B. Immediately deletes the key named 'key'.
C. Sets the key to expire and be deleted after 60 seconds.
D. Renames the key to '60'.
Solution
Step 1: Understand the EXPIRE command
The EXPIRE command sets a countdown timer on a key in seconds.
Step 2: Apply the command to the example
Here, EXPIRE key 60 sets the key to expire after 60 seconds.
Final Answer:
Sets the key to expire and be deleted after 60 seconds. -> Option C
Quick Check:
EXPIRE sets countdown = A [OK]
Hint: EXPIRE sets time in seconds before deletion [OK]
Common Mistakes:
Thinking EXPIRE deletes immediately
Confusing EXPIRE with TTL command
Assuming EXPIRE renames keys
2. Which of the following is the correct syntax to check the remaining time to live of a key named session in Redis?
easy
A. TTL session
B. EXPIRE session
C. GETTTL session
D. TIMELEFT session
Solution
Step 1: Identify the command to check TTL
The Redis command to check remaining time is TTL key.
Step 2: Match the syntax with the key name
For key session, the correct command is TTL session.
Final Answer:
TTL session -> Option A
Quick Check:
TTL command syntax = D [OK]
Hint: TTL shows remaining seconds before expiry [OK]
Common Mistakes:
Using EXPIRE to check TTL
Assuming GETTTL is a Redis command
Using TIMELEFT which does not exist
3. Consider the following Redis commands executed in order:
SET temp "data"
EXPIRE temp 10
TTL temp
What will the TTL temp command return immediately after setting the expire?
medium
A. Error
B. -1
C. 0
D. 10
Solution
Step 1: Set key and expire time
The key temp is set with value "data" and an expire time of 10 seconds.
Step 2: Check TTL immediately after EXPIRE
Immediately after setting expire, TTL returns the remaining seconds, which is 10.
Final Answer:
10 -> Option D
Quick Check:
TTL after EXPIRE = 10 [OK]
Hint: TTL returns seconds left right after EXPIRE [OK]
Common Mistakes:
Expecting TTL to return -1 (no expire)
Thinking TTL returns 0 immediately
Assuming TTL causes an error if key exists
4. You run the following commands:
SET user "Alice"
EXPIRE user -5
TTL user
What is the result of TTL user and why?
medium
A. -2 because key is deleted immediately
B. Error due to invalid expire time
C. -1 because negative expire removes expiration
D. 5 because negative is treated as positive
Solution
Step 1: Understand EXPIRE with negative time
Setting EXPIRE with a negative value deletes the key immediately.
Thinking negative expire removes expiration but keeps key
Expecting TTL to return -1 for no expire
Assuming negative expire causes error
5. You want to set a key cache with a value and ensure it expires in 30 seconds only if it does not already have an expiration. Which Redis command sequence achieves this safely?
hard
A. SET cache "value" NX EX 30
B. SET cache "value"
TTL cache
EXPIRE cache 30 if TTL is -1
C. SET cache "value" EX 30
EXPIRE cache 30
D. SET cache "value"
EXPIRE cache 30
Solution
Step 1: Understand the requirement
We want to set the key and only add expiration if none exists (TTL = -1).
Step 2: Analyze options
SET cache "value"
TTL cache
EXPIRE cache 30 if TTL is -1 checks TTL first, then sets EXPIRE only if TTL is -1, ensuring no overwrite of existing expiration.
Final Answer:
SET cache "value"
TTL cache
EXPIRE cache 30 if TTL is -1 -> Option B
Quick Check:
Check TTL before EXPIRE to avoid overwriting [OK]
Hint: Check TTL before EXPIRE to avoid overwriting [OK]
Common Mistakes:
Using NX option which only affects key existence
Setting EXPIRE twice unnecessarily
Not checking TTL before setting EXPIRE
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.