Bird
Raised Fist0
Redisquery~20 mins

HEXISTS for field check in Redis - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
HEXISTS Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
1:30remaining
Check if a field exists in a Redis hash
Given a Redis hash named user:1000 with fields name and email, what is the output of the command HEXISTS user:1000 email?
Redis
HSET user:1000 name "Alice" email "alice@example.com"
Aerror
B0
Cnil
D1
Attempts:
2 left
💡 Hint
HEXISTS returns 1 if the field exists, otherwise 0.
❓ query_result
intermediate
1:30remaining
Check non-existing field in Redis hash
What is the output of HEXISTS user:1000 age if the hash user:1000 only contains fields name and email?
Redis
HSET user:1000 name "Alice" email "alice@example.com"
A1
B0
Cnil
Derror
Attempts:
2 left
💡 Hint
Check if the field is present or not.
📝 Syntax
advanced
1:30remaining
Identify the correct HEXISTS command syntax
Which of the following commands correctly checks if the field status exists in the hash order:123?
AHEXISTS order:123 status
BHEXISTS status order:123
CHEXISTS order:123:status
DHEXISTS order:123 status extra
Attempts:
2 left
💡 Hint
The syntax is HEXISTS key field
❓ query_result
advanced
1:30remaining
HEXISTS behavior with non-hash key
What happens when you run HEXISTS mykey field1 if mykey is a string key with value hello?
Redis
SET mykey "hello"
A1
B0
Cerror
Dnil
Attempts:
2 left
💡 Hint
HEXISTS only works on hashes.
🧠 Conceptual
expert
2:00remaining
Using HEXISTS in conditional logic
You want to increment a numeric field visits in a Redis hash page:home only if the field exists. Which Redis command sequence correctly achieves this?
AUse a Lua script to check HEXISTS and then HINCRBY
BHINCRBY page:home visits 1
CHEXISTS page:home visits && HINCRBY page:home visits 1
DIF HEXISTS page:home visits THEN HINCRBY page:home visits 1
Attempts:
2 left
💡 Hint
Redis commands are atomic but do not support IF statements directly.

Practice

(1/5)
1. What does the Redis command HEXISTS key field do?
easy
A. Deletes the specified field from the hash
B. Sets a new field in the hash
C. Returns all fields and values in the hash
D. Checks if the specified field exists in the hash stored at key

Solution

  1. Step 1: Understand the HEXISTS command purpose

    HEXISTS checks if a specific field exists inside a Redis hash stored at a given key.
  2. Step 2: Identify the correct behavior

    It returns 1 if the field exists, otherwise 0. It does not delete, list, or set fields.
  3. Final Answer:

    Checks if the specified field exists in the hash stored at key -> Option D
  4. Quick Check:

    HEXISTS checks field existence = B [OK]
Hint: HEXISTS returns 1 if field exists, else 0 [OK]
Common Mistakes:
  • Confusing HEXISTS with HDEL (delete)
  • Thinking HEXISTS returns the field value
  • Assuming HEXISTS lists all fields
2. Which of the following is the correct syntax to check if field age exists in hash user:1 using HEXISTS?
easy
A. HEXISTS user:1 age
B. HEXISTS age user:1
C. HEXISTS user:1:age
D. HEXISTS user:1, age

Solution

  1. Step 1: Recall HEXISTS command syntax

    The correct syntax is HEXISTS key field, where key is the hash key and field is the field name.
  2. Step 2: Match syntax with options

    HEXISTS user:1 age matches the correct syntax: HEXISTS user:1 age. Other options have wrong order or invalid format.
  3. Final Answer:

    HEXISTS user:1 age -> Option A
  4. Quick Check:

    HEXISTS key field syntax = C [OK]
Hint: Remember HEXISTS key field order exactly [OK]
Common Mistakes:
  • Swapping key and field positions
  • Using colon between key and field
  • Adding commas between arguments
3. Given the Redis hash user:2 with fields {"name": "Alice", "email": "alice@example.com"}, what will HEXISTS user:2 phone return?
medium
A. 1
B. Error
C. 0
D. nil

Solution

  1. Step 1: Check if field 'phone' exists in hash user:2

    The hash has fields 'name' and 'email' only. 'phone' is not present.
  2. Step 2: Understand HEXISTS return value

    HEXISTS returns 1 if field exists, 0 if it does not. Since 'phone' is missing, it returns 0.
  3. Final Answer:

    0 -> Option C
  4. Quick Check:

    Field missing returns 0 = D [OK]
Hint: HEXISTS returns 0 for missing fields [OK]
Common Mistakes:
  • Expecting nil instead of 0
  • Thinking it returns an error for missing fields
  • Confusing with HGET which returns nil
4. You run the command HEXISTS user:3 name but get an error. Which of the following is the most likely cause?
medium
A. The field name is misspelled
B. The key user:3 exists but is not a hash
C. HEXISTS requires two fields to check
D. Redis server is down

Solution

  1. Step 1: Understand HEXISTS error causes

    HEXISTS returns error if the key exists but is not a hash type. If key does not exist, it returns 0, no error.
  2. Step 2: Eliminate distractors

    Misspelled field returns 0, no error. HEXISTS checks one field. Server down causes connection failure, not command error. Wrong key type causes WRONGTYPE error.
  3. Final Answer:

    The key user:3 exists but is not a hash -> Option B
  4. Quick Check:

    Wrong key type causes HEXISTS error = A [OK]
Hint: Check key type before HEXISTS to avoid errors [OK]
Common Mistakes:
  • Assuming misspelled field causes error
  • Thinking HEXISTS needs multiple fields
  • Ignoring key type mismatch
5. You want to add a field status to a Redis hash order:100 only if it does not already exist. Which sequence of commands correctly uses HEXISTS to check before adding?
hard
A. HEXISTS order:100 status IF 0 THEN HSET order:100 status 'pending' END
B. HSET order:100 status 'pending' HEXISTS order:100 status
C. HEXISTS order:100 status IF 1 THEN HSET order:100 status 'pending' END
D. HGET order:100 status IF nil THEN HSET order:100 status 'pending' END

Solution

  1. Step 1: Understand the goal

    You want to add 'status' only if it does not exist, so first check with HEXISTS if field is missing (returns 0).
  2. Step 2: Analyze command sequences

    HEXISTS order:100 status IF 0 THEN HSET order:100 status 'pending' END checks HEXISTS, then if result is 0 (field missing), it sets the field. This matches the requirement. HSET order:100 status 'pending' HEXISTS order:100 status sets field unconditionally first. HEXISTS order:100 status IF 1 THEN HSET order:100 status 'pending' END sets field if HEXISTS returns 1 (field exists), which is wrong. HGET order:100 status IF nil THEN HSET order:100 status 'pending' END uses HGET and nil check, which is valid but not using HEXISTS as asked.
  3. Final Answer:

    HEXISTS order:100 status IF 0 THEN HSET order:100 status 'pending' END -> Option A
  4. Quick Check:

    Check HEXISTS=0 before HSET = A [OK]
Hint: Add field only if HEXISTS returns 0 [OK]
Common Mistakes:
  • Setting field without checking existence
  • Checking HEXISTS=1 to add field
  • Using HGET instead of HEXISTS when asked
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