Bird
Raised Fist0
Redisquery~10 mins

Session storage pattern in Redis - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set a session key with a value in Redis.

Redis
SET session:user123 [1]
Drag options to blanks, or click blank then click option'
A"active"
BEXPIRE
CGET
DDEL
Attempts:
3 left
💡 Hint
Common Mistakes
Using commands like EXPIRE or GET instead of a value.
Forgetting to provide a value after the key.
2fill in blank
medium

Complete the code to set an expiration time of 3600 seconds on a session key.

Redis
EXPIRE session:user123 [1]
Drag options to blanks, or click blank then click option'
A60
B0
C1800
D3600
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 which means no expiration.
Using a time too short or too long by mistake.
3fill in blank
hard

Fix the error in the command to retrieve the session value.

Redis
[1] session:user123
Drag options to blanks, or click blank then click option'
ASET
BEXPIRE
CGET
DDEL
Attempts:
3 left
💡 Hint
Common Mistakes
Using SET instead of GET to retrieve data.
Using EXPIRE or DEL which do not return the value.
4fill in blank
hard

Fill both blanks to delete a session key and then check if it still exists.

Redis
DEL [1]
EXISTS [2]
Drag options to blanks, or click blank then click option'
Asession:user456
Bsession:user123
Csession:user789
Dsession:user000
Attempts:
3 left
💡 Hint
Common Mistakes
Using different keys in DEL and EXISTS commands.
Using keys that were not set before.
5fill in blank
hard

Fill all three blanks to set a session key with a value and expiration in one command.

Redis
SET [1] [2] [3] 1800
Drag options to blanks, or click blank then click option'
Asession:user789
B"logged_in"
CEX
DNX
Attempts:
3 left
💡 Hint
Common Mistakes
Using NX which means set only if key does not exist, not expiration.
Forgetting to put quotes around the value string.

Practice

(1/5)
1. What is the main purpose of using Redis for session storage?
easy
A. To keep temporary user data during their visit
B. To permanently store user files
C. To perform complex calculations
D. To replace the database for all data

Solution

  1. Step 1: Understand session storage concept

    Session storage is used to keep temporary data about a user while they interact with a website or app.
  2. Step 2: Identify Redis role in session storage

    Redis is used to store this temporary data quickly and with expiration to remove it after the session ends.
  3. Final Answer:

    To keep temporary user data during their visit -> Option A
  4. Quick Check:

    Session storage = temporary user data [OK]
Hint: Session storage = temporary user data storage [OK]
Common Mistakes:
  • Thinking Redis stores permanent files
  • Confusing session storage with database replacement
  • Assuming Redis does complex calculations
2. Which Redis command is used to save session data with an expiration time?
easy
A. GET
B. HGETALL
C. DEL
D. SETEX

Solution

  1. Step 1: Recall Redis commands for session storage

    GET retrieves data, DEL deletes data, HGETALL gets all hash fields, SETEX sets a key with expiration.
  2. Step 2: Identify command to save with expiration

    SETEX is the command that sets a key's value and expiration time in one step.
  3. Final Answer:

    SETEX -> Option D
  4. Quick Check:

    Save with expiration = SETEX [OK]
Hint: SETEX sets value with expiration in Redis [OK]
Common Mistakes:
  • Using GET to save data
  • Using DEL to save data
  • Confusing HGETALL with setting data
3. Given the commands:
SETEX session:12345 300 "user_data"
GET session:12345
What will be the output of the GET command immediately after SETEX?
medium
A. SyntaxError
B. nil
C. "user_data"
D. 300

Solution

  1. Step 1: Understand SETEX effect

    SETEX sets the key 'session:12345' with value 'user_data' and expiration 300 seconds.
  2. Step 2: Check GET output immediately after SETEX

    Since the key exists and is not expired yet, GET returns the stored value 'user_data'.
  3. Final Answer:

    "user_data" -> Option C
  4. Quick Check:

    GET after SETEX returns stored value [OK]
Hint: GET returns value if key exists and not expired [OK]
Common Mistakes:
  • Expecting nil immediately after SETEX
  • Confusing expiration time with returned value
  • Thinking GET returns expiration time
4. What is wrong with this Redis command sequence for session deletion?
DEL session:12345
GET session:12345
medium
A. DEL command syntax is incorrect
B. No error; GET returns nil after DEL
C. GET will still return data after DEL
D. DEL does not delete keys

Solution

  1. Step 1: Check DEL command correctness

    DEL session:12345 is correct syntax to delete the key.
  2. Step 2: Understand GET after DEL

    After deletion, GET returns nil because the key no longer exists.
  3. Final Answer:

    No error; GET returns nil after DEL -> Option B
  4. Quick Check:

    DEL deletes key, GET returns nil [OK]
Hint: DEL removes key; GET returns nil after deletion [OK]
Common Mistakes:
  • Thinking DEL syntax is wrong
  • Expecting GET to return old data after DEL
  • Believing DEL does not remove keys
5. You want to store user session data in Redis that expires after 10 minutes. Which sequence correctly sets and later deletes the session?
hard
A. SETEX session:abc 600 "data"; DEL session:abc
B. SET session:abc "data"; DEL session:abc; EXPIRE session:abc 600
C. SET session:abc 600 "data"; EXPIRE session:abc 600; DEL session:abc
D. GET session:abc; SET session:abc 600 "data"; DEL session:abc

Solution

  1. Step 1: Identify correct way to set with expiration

    SETEX sets the key with value and expiration in one command, which is efficient and correct.
  2. Step 2: Confirm deletion after setting

    DEL removes the key when session ends, so DEL after SETEX is correct.
  3. Final Answer:

    SETEX session:abc 600 "data"; DEL session:abc -> Option A
  4. Quick Check:

    SETEX sets with expiry, DEL deletes key [OK]
Hint: Use SETEX to set with expiry, then DEL to delete [OK]
Common Mistakes:
  • Setting expiration after deleting key
  • Using GET before setting session
  • Setting expiration separately instead of SETEX
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