Bird
Raised Fist0
Redisquery~5 mins

TTL-based expiry in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does TTL stand for in Redis?
TTL stands for Time To Live. It is the duration a key remains in Redis before it expires and is automatically deleted.
Click to reveal answer
beginner
How do you set a TTL for a key in Redis?
You use the EXPIRE command followed by the key and the number of seconds to live. For example: EXPIRE mykey 60 sets a 60-second TTL.
Click to reveal answer
beginner
What happens when a key's TTL reaches zero in Redis?
The key is automatically deleted from the database and is no longer accessible.
Click to reveal answer
beginner
How can you check the remaining TTL of a key in Redis?
Use the TTL command with the key name. It returns the remaining time in seconds before the key expires.
Click to reveal answer
intermediate
Can you remove the TTL from a key in Redis? If yes, how?
Yes, you can remove the TTL using the PERSIST command. This makes the key permanent until deleted manually.
Click to reveal answer
What command sets a TTL of 120 seconds on a Redis key named 'session'?
APERSIST session 120
BTTL session 120
CEXPIRE session 120
DSETTTL session 120
What does the TTL command return if a key does not have an expiry set?
A0
B-1
C-2
Dnull
Which command removes the expiry from a key in Redis?
AREMOVEEXPIRE
BEXPIRE 0
CTTL
DPERSIST
If a key's TTL is set to 10 seconds, what happens after 10 seconds?
AThe key is deleted automatically
BThe key's TTL resets to 10 seconds
CThe key becomes read-only
DNothing happens
Which of these commands can you use to check how many seconds remain before a key expires?
ATTL
BEXPIRE
CPERSIST
DGETTTL
Explain how TTL-based expiry works in Redis and why it is useful.
Think about how Redis manages temporary data like sessions.
You got /4 concepts.
    Describe the commands used to set, check, and remove TTL on Redis keys.
    Focus on the three main TTL-related commands.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the Redis command EXPIRE key 60 do?
      easy
      A. Renames the key to '60'
      B. Deletes the key immediately
      C. Sets the key to expire and be deleted after 60 seconds
      D. Returns the current TTL of the key

      Solution

      1. Step 1: Understand the EXPIRE command

        The EXPIRE command sets a time-to-live (TTL) in seconds for a key in Redis.
      2. Step 2: Apply the command to the example

        Using EXPIRE key 60 means the key will be deleted automatically after 60 seconds.
      3. Final Answer:

        Sets the key to expire and be deleted after 60 seconds -> Option C
      4. Quick Check:

        EXPIRE sets TTL = expire after time [OK]
      Hint: EXPIRE sets countdown in seconds for key deletion [OK]
      Common Mistakes:
      • Thinking EXPIRE deletes key immediately
      • Confusing EXPIRE with TTL command
      • Assuming EXPIRE renames the key
      2. Which of the following is the correct syntax to check the remaining TTL of a key named session?
      easy
      A. TTL session
      B. EXPIRE session
      C. GETTTL session
      D. PERSIST session

      Solution

      1. Step 1: Identify the command to check TTL

        The Redis command to check remaining time-to-live is TTL followed by the key name.
      2. Step 2: Match the syntax

        TTL session correctly checks the remaining TTL of the key 'session'. Other options are either invalid or perform different actions.
      3. Final Answer:

        TTL session -> Option A
      4. Quick Check:

        TTL command returns remaining expiry time [OK]
      Hint: Use TTL key to see remaining expiry time in seconds [OK]
      Common Mistakes:
      • Using EXPIRE to check TTL instead of setting it
      • Using PERSIST which removes expiry, not checks it
      • Assuming GETTTL is a valid Redis command
      3. Consider the following Redis commands executed in order:
      SET temp 100
      EXPIRE temp 10
      TTL temp
      What is the expected output of the last command?
      medium
      A. -1
      B. 0
      C. Error
      D. 10

      Solution

      1. Step 1: Set key and expiry

        The key 'temp' is set with value '100' and then given a TTL of 10 seconds.
      2. Step 2: Check TTL immediately

        Immediately after setting expiry, TTL temp returns the remaining time, which should be close to 10 seconds.
      3. Final Answer:

        10 -> Option D
      4. Quick Check:

        TTL after EXPIRE shows seconds left [OK]
      Hint: TTL right after EXPIRE shows the set seconds [OK]
      Common Mistakes:
      • Expecting TTL to return -1 (means no expiry)
      • Thinking TTL returns 0 immediately after EXPIRE
      • Assuming TTL command causes error
      4. You run the following commands:
      SET user123 "data"
      EXPIRE user123 30
      PERSIST user123
      TTL user123
      But the TTL command returns -1. What is the issue?
      medium
      A. Key user123 does not exist
      B. PERSIST removed the expiry, so TTL returns -1
      C. TTL command syntax is wrong
      D. EXPIRE was not set correctly

      Solution

      1. Step 1: Understand PERSIST effect

        PERSIST removes the expiry from a key, making it permanent.
      2. Step 2: Check TTL after PERSIST

        After PERSIST, TTL returns -1 indicating no expiry is set on the key.
      3. Final Answer:

        PERSIST removed the expiry, so TTL returns -1 -> Option B
      4. Quick Check:

        PERSIST removes TTL, TTL returns -1 [OK]
      Hint: PERSIST removes expiry; TTL then returns -1 [OK]
      Common Mistakes:
      • Thinking TTL returns error if expiry removed
      • Assuming EXPIRE failed without checking
      • Confusing TTL -1 with key missing
      5. You want to set a key cache_item with a value and ensure it expires exactly after 5 minutes. Which sequence of commands correctly achieves this and verifies the expiry?
      hard
      A. SET cache_item "value"\nEXPIRE cache_item 300\nTTL cache_item
      B. SET cache_item "value"\nTTL cache_item 300\nEXPIRE cache_item
      C. EXPIRE cache_item 300\nSET cache_item "value"\nTTL cache_item
      D. SET cache_item "value"\nPERSIST cache_item\nTTL cache_item

      Solution

      1. Step 1: Set the key with value

        Use SET to create the key 'cache_item' with the desired value.
      2. Step 2: Set expiry to 300 seconds (5 minutes)

        Use EXPIRE cache_item 300 to set TTL to 5 minutes.
      3. Step 3: Verify TTL

        Use TTL cache_item to check remaining time, which should be close to 300 seconds.
      4. Final Answer:

        SET cache_item "value"\nEXPIRE cache_item 300\nTTL cache_item -> Option A
      5. Quick Check:

        SET then EXPIRE then TTL to verify expiry [OK]
      Hint: SET key, then EXPIRE seconds, then TTL to check [OK]
      Common Mistakes:
      • Using TTL to set expiry (wrong command)
      • Setting EXPIRE before SET (key must exist first)
      • Using PERSIST which removes expiry
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard