Bird
Raised Fist0
Redisquery~3 mins

Why EXISTS to check key existence in Redis? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

Discover how a simple command can save you from costly mistakes and speed up your Redis apps!

The Scenario

Imagine you have a huge collection of items stored in Redis, and you want to know if a specific item is already there before adding or updating it.

The Problem

Without a quick way to check, you might try to fetch the item every time, which wastes time and resources. This slows down your app and can cause errors if you assume the item exists when it doesn't.

The Solution

The EXISTS command lets you instantly check if a key is present in Redis. It's fast, simple, and avoids unnecessary data fetching or mistakes.

Before vs After
✗ Before
GET mykey
if result is null then add key
✓ After
EXISTS mykey
if 1 then key exists else add key
What It Enables

It enables lightning-fast checks to keep your data accurate and your app running smoothly.

Real Life Example

Before adding a user session key, you check if it already exists to avoid overwriting active sessions.

Key Takeaways

Manual checks waste time and risk errors.

EXISTS quickly tells if a key is in Redis.

This keeps your data safe and your app efficient.

Practice

(1/5)
1. What does the Redis command EXISTS key do?
easy
A. Checks if the specified key exists and returns 1 if yes, 0 if no
B. Deletes the specified key from the database
C. Returns the value stored at the specified key
D. Sets a new key with a default value

Solution

  1. Step 1: Understand the purpose of EXISTS

    The EXISTS command is used to check if a key is present in the Redis database.
  2. Step 2: Know the return values

    It returns 1 if the key exists, and 0 if it does not.
  3. Final Answer:

    Checks if the specified key exists and returns 1 if yes, 0 if no -> Option A
  4. Quick Check:

    EXISTS returns 1 or 0 for key presence [OK]
Hint: EXISTS returns 1 if key is found, else 0 [OK]
Common Mistakes:
  • Thinking EXISTS deletes keys
  • Assuming EXISTS returns the key's value
  • Confusing EXISTS with SET command
2. Which of the following is the correct syntax to check if a key named user:1 exists in Redis?
easy
A. EXIST user:1
B. EXISTS user:1
C. CHECK user:1
D. HASKEY user:1

Solution

  1. Step 1: Identify the correct Redis command

    The correct command to check key existence is EXISTS.
  2. Step 2: Verify the syntax

    The syntax is EXISTS keyname, so EXISTS user:1 is correct.
  3. Final Answer:

    EXISTS user:1 -> Option B
  4. Quick Check:

    EXISTS keyname is correct syntax [OK]
Hint: EXISTS is the exact command to check keys [OK]
Common Mistakes:
  • Using non-existent commands like EXIST or HASKEY
  • Misspelling EXISTS
  • Adding extra keywords after EXISTS
3. Given the following Redis keys: user:1 and user:2 exist, but user:3 does not. What is the result of EXISTS user:1 user:3 user:2?
medium
A. 2
B. 1
C. 3
D. 0

Solution

  1. Step 1: Understand EXISTS with multiple keys

    When given multiple keys, EXISTS returns the count of keys that exist.
  2. Step 2: Count existing keys in the list

    Keys user:1 and user:2 exist, but user:3 does not, so count is 2.
  3. Final Answer:

    2 -> Option A
  4. Quick Check:

    EXISTS counts existing keys = 2 [OK]
Hint: EXISTS with multiple keys returns count of existing keys [OK]
Common Mistakes:
  • Assuming EXISTS returns 1 if any key exists
  • Thinking it returns all keys found
  • Confusing count with boolean result
4. You run the command EXISTS without any key arguments in Redis. What happens?
medium
A. Returns 0 because no keys were specified
B. Deletes all keys in the database
C. Returns an error due to missing key argument
D. Returns 1 by default

Solution

  1. Step 1: Check command requirements

    The EXISTS command requires at least one key argument to check.
  2. Step 2: Understand Redis behavior on missing arguments

    If no keys are provided, Redis returns a syntax error indicating missing arguments.
  3. Final Answer:

    Returns an error due to missing key argument -> Option C
  4. Quick Check:

    EXISTS needs keys, else error [OK]
Hint: EXISTS must have keys; no keys causes error [OK]
Common Mistakes:
  • Assuming it returns 0 with no keys
  • Thinking it returns 1 by default
  • Believing it deletes keys without arguments
5. You want to check if any of the keys session:1, session:2, or session:3 exist, and if none exist, set session:1 with a value. Which Redis command sequence correctly uses EXISTS to do this safely?
hard
A. EXISTS session:1 session:2 session:3\nIF 1 THEN SET session:1 'active' END
B. IF EXISTS session:1 session:2 session:3 == 0 THEN SET session:1 'active' END
C. EXISTS session:1 session:2 session:3\nIF EXISTS == 0 THEN SET session:1 'active' END
D. EXISTS session:1 session:2 session:3\nIF 0 THEN SET session:1 'active' END

Solution

  1. Step 1: Use EXISTS to check multiple keys

    EXISTS returns the count of existing keys among the given list.
  2. Step 2: Use conditional logic to set key if none exist

    If EXISTS returns 0, it means none of the keys exist, so we can safely set session:1.
  3. Step 3: Choose the correct syntax for conditional check

    EXISTS session:1 session:2 session:3\nIF 0 THEN SET session:1 'active' END shows the correct sequence: run EXISTS, then if result is 0, set the key.
  4. Final Answer:

    EXISTS session:1 session:2 session:3\nIF 0 THEN SET session:1 'active' END -> Option D
  5. Quick Check:

    EXISTS count 0 means no keys, then set key [OK]
Hint: Check EXISTS count == 0 before setting key [OK]
Common Mistakes:
  • Using incorrect conditional syntax
  • Not checking all keys at once
  • Setting key without checking existence
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