Bird
Raised Fist0
Redisquery~5 mins

HSET and HGET for fields in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the Redis command HSET do?

HSET sets the value of a field in a hash stored at a key. If the field does not exist, it is created. If it exists, the value is updated.

Click to reveal answer
beginner
How do you retrieve the value of a specific field in a Redis hash?

You use the HGET command with the key and the field name to get the value stored in that field.

Click to reveal answer
beginner
What will HGET return if the field does not exist in the hash?

HGET returns null (or nil) if the specified field is not found in the hash.

Click to reveal answer
intermediate
Can HSET create a new hash if the key does not exist?

Yes, if the key does not exist, HSET will create a new hash and then set the field with the given value.

Click to reveal answer
intermediate
What is the difference between HSET and SET in Redis?

SET stores a simple string value at a key. HSET stores a field-value pair inside a hash at a key, allowing multiple fields under one key.

Click to reveal answer
What does the Redis command HGET myhash field1 return if field1 exists?
AThe key <code>myhash</code>
BThe value stored in <code>field1</code> inside <code>myhash</code>
CAn error message
DThe entire hash <code>myhash</code>
If you run HSET myhash field1 "hello" and field1 already has a value, what happens?
AThe value of <code>field1</code> is updated to "hello"
BA new field is created
CAn error is thrown
DNothing changes
What does HGET return if the field does not exist in the hash?
AAn empty string
B0
CThe entire hash
Dnull (nil)
Which command creates a new hash if the key does not exist?
AHSET
BHGET
CGET
DDEL
Which Redis command stores a simple string value at a key?
AHGET
BHSET
CSET
DHMSET
Explain how HSET and HGET work together to store and retrieve data in Redis hashes.
Think about how you store and look up information in a dictionary.
You got /4 concepts.
    Describe the difference between using SET and HSET in Redis.
    Compare storing one item versus storing a collection of items.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the Redis command HSET do?
      easy
      A. Stores or updates a field and its value inside a hash key
      B. Retrieves the value of a field from a hash key
      C. Deletes a field from a hash key
      D. Lists all keys in the database

      Solution

      1. Step 1: Understand the purpose of HSET

        The HSET command is used to store or update a field-value pair inside a Redis hash key, organizing related data together.
      2. Step 2: Differentiate from other commands

        HGET retrieves values, HDEL deletes fields, and KEYS lists keys, so they do not match the description of HSET.
      3. Final Answer:

        Stores or updates a field and its value inside a hash key -> Option A
      4. Quick Check:

        HSET stores/updates field = A [OK]
      Hint: HSET adds or changes a field inside a hash key [OK]
      Common Mistakes:
      • Confusing HSET with HGET
      • Thinking HSET deletes fields
      • Mixing HSET with key listing commands
      2. Which of the following is the correct syntax to set field name to John in hash key user:1 using Redis?
      easy
      A. HSET user:1 name John
      B. HGET user:1 name John
      C. SET user:1 name John
      D. HSET name user:1 John

      Solution

      1. Step 1: Recall HSET syntax

        The correct syntax is HSET key field value. Here, key is user:1, field is name, and value is John.
      2. Step 2: Check each option

        HSET user:1 name John matches the syntax exactly. HGET user:1 name John uses HGET which is for retrieval. SET user:1 name John uses SET which is for string keys, not hashes. HSET name user:1 John swaps field and key, which is incorrect.
      3. Final Answer:

        HSET user:1 name John -> Option A
      4. Quick Check:

        HSET key field value = C [OK]
      Hint: Remember: HSET key field value order [OK]
      Common Mistakes:
      • Using HGET instead of HSET to set values
      • Swapping field and key positions
      • Using SET for hash fields
      3. Given these Redis commands executed in order:
      HSET user:2 age 30
      HSET user:2 city London
      HGET user:2 age
      What is the output of the last command?
      medium
      A. London
      B. 30
      C. user:2
      D. nil

      Solution

      1. Step 1: Analyze the HSET commands

        The first command sets field age to 30 in user:2. The second sets city to London.
      2. Step 2: Understand HGET command

        HGET user:2 age retrieves the value of field age from user:2, which was set to 30.
      3. Final Answer:

        30 -> Option B
      4. Quick Check:

        HGET user:2 age = 30 [OK]
      Hint: HGET returns the value of the requested field [OK]
      Common Mistakes:
      • Confusing field names and values
      • Expecting HGET to return the key name
      • Assuming HGET returns all fields
      4. You run the command HGET user:3 email but get (nil) as output. What could be the reason?
      medium
      A. The key user:3 is not a hash but a string
      B. The Redis server is down
      C. The field email does not exist in the hash user:3
      D. The syntax of HGET is incorrect

      Solution

      1. Step 1: Understand (nil) output in HGET

        When HGET returns (nil), it means the requested field does not exist in the hash key.
      2. Step 2: Evaluate other options

        If the key was not a hash, Redis would return a type error, not (nil). Server down would cause connection errors, and incorrect syntax would cause errors, not (nil).
      3. Final Answer:

        The field email does not exist in the hash user:3 -> Option C
      4. Quick Check:

        HGET nil means field missing = B [OK]
      Hint: Nil means field missing, not syntax or server error [OK]
      Common Mistakes:
      • Assuming (nil) means server or syntax error
      • Confusing missing field with missing key
      • Ignoring data type errors
      5. You want to store user profile data in Redis using a hash key profile:100. You run:
      HSET profile:100 name Alice
      HSET profile:100 age 0
      HGET profile:100 age
      What will the last command return and why?
      hard
      A. Empty string, because age is unset
      B. nil, because zero is treated as a missing value
      C. Error, because age cannot be zero
      D. 0, because Redis stores numeric zero as a valid string value

      Solution

      1. Step 1: Understand storing zero in Redis hash

        Redis stores all hash field values as strings. The value 0 is stored as the string "0", which is a valid value.
      2. Step 2: Check HGET behavior for zero value

        HGET returns the exact stored string. Since age was set to 0, it returns "0", not nil or empty.
      3. Final Answer:

        0, because Redis stores numeric zero as a valid string value -> Option D
      4. Quick Check:

        HGET returns stored string '0' = D [OK]
      Hint: Zero is stored as string '0', not nil or empty [OK]
      Common Mistakes:
      • Thinking zero is treated as missing or false
      • Expecting errors for numeric zero
      • Confusing empty string with zero
      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