The HKEYS command returns all the field names (keys) stored in a hash at a given key.
Click to reveal answer
beginner
What does the Redis command HVALS do?
The HVALS command returns all the values stored in a hash at a given key.
Click to reveal answer
beginner
If a Redis hash has fields name, age, and city, what will HKEYS return?
It will return a list of the field names: ["name", "age", "city"].
Click to reveal answer
beginner
If a Redis hash has values "Alice", 30, and "NYC" for fields name, age, and city, what will HVALS return?
It will return a list of the values: ["Alice", "30", "NYC"].
Click to reveal answer
intermediate
Can HKEYS and HVALS be used on a Redis key that is not a hash?
No, both commands only work on keys holding hashes. Using them on other data types will cause an error.
Click to reveal answer
What does the Redis command HKEYS myhash return?
AThe number of fields in <code>myhash</code>
BAll field names in the hash stored at <code>myhash</code>
CAll values in the hash stored at <code>myhash</code>
DDeletes the hash <code>myhash</code>
✗ Incorrect
HKEYS returns all the field names (keys) in the hash.
What will HVALS myhash return if myhash has fields name and age with values "Bob" and 25?
A25
B["name", "age"]
C["Bob", "25"]
DAn error
✗ Incorrect
HVALS returns all values in the hash.
What happens if you run HKEYS on a Redis string key?
AReturns all characters in the string
BDeletes the string
CReturns an empty list
DReturns an error
✗ Incorrect
Using HKEYS on a non-hash key causes an error.
Which Redis command would you use to get all the values from a hash?
AHVALS
BHKEYS
CHGETALL
DHMGET
✗ Incorrect
HVALS returns all values from a hash.
If a hash is empty, what does HKEYS return?
AEmpty list
BList with one empty string
CError
DNull
✗ Incorrect
HKEYS returns an empty list if the hash has no fields.
Explain what the Redis commands HKEYS and HVALS do and when you would use them.
Think about how you get all keys or all values from a dictionary in programming.
You got /4 concepts.
Describe what happens if you use HKEYS or HVALS on a Redis key that is not a hash.
Consider the data type restrictions of Redis commands.
You got /3 concepts.
Practice
(1/5)
1. What does the Redis command HKEYS myhash return?
easy
A. All the field names (keys) inside the hash myhash
B. All the values inside the hash myhash
C. The number of fields in the hash myhash
D. Deletes the hash myhash
Solution
Step 1: Understand the purpose of HKEYS
The command HKEYS is used to get all the field names (keys) from a Redis hash.
Step 2: Apply to the given hash
When you run HKEYS myhash, it returns all the keys inside myhash, not the values or count.
Final Answer:
All the field names (keys) inside the hash myhash -> Option A
Quick Check:
HKEYS returns keys = A [OK]
Hint: HKEYS always lists keys, not values or counts [OK]
Common Mistakes:
Confusing HKEYS with HVALS
Thinking it returns values instead of keys
Assuming it returns the count of fields
2. Which of the following is the correct syntax to get all values from a Redis hash named user:100?
easy
A. HVALS user:100
B. HKEYS user:100
C. HGETALL user:100
D. HVALS(user:100)
Solution
Step 1: Identify the command to get all values
The Redis command to get all values from a hash is HVALS.
Step 2: Check syntax correctness
The correct syntax is HVALS keyname, so HVALS user:100 is correct. Parentheses are not used in Redis commands.
Final Answer:
HVALS user:100 -> Option A
Quick Check:
HVALS syntax = HVALS key [OK]
Hint: HVALS command syntax: HVALS key (no parentheses) [OK]
Common Mistakes:
Using parentheses like a function call
Mixing HKEYS and HVALS commands
Using HGETALL instead of HVALS for values only
3. Given a Redis hash product:1 with fields and values: {"name": "Pen", "color": "blue", "price": "1.5"} What will HVALS product:1 return?
medium
A. ["name", "color", "price"]
B. ["Pen", "blue", "1.5"]
C. ["product:1"]
D. An error because HVALS needs a list
Solution
Step 1: Understand what HVALS returns
HVALS returns all the values stored in the hash fields, not the keys.
Step 2: Apply to the given hash
The values are "Pen", "blue", and "1.5". So the command returns these values as a list.
Final Answer:
["Pen", "blue", "1.5"] -> Option B
Quick Check:
HVALS returns values list = A [OK]
Hint: HVALS returns only values, not keys or errors [OK]
Common Mistakes:
Confusing keys with values
Expecting field names instead of values
Thinking HVALS returns the hash key name
4. You run HKEYS myhash but get an empty list even though you know myhash has data. What could be the problem?
medium
A. The Redis server is down
B. You typed HVALS myhash instead of HKEYS
C. myhash is not a hash type but a string or other type
D. The hash myhash is empty
Solution
Step 1: Check the data type of the key
If myhash is not a hash but a string or other type, HKEYS returns an empty list.
Step 2: Understand why other options are incorrect
Typing HVALS would return values, not empty list. Server down causes connection errors, not empty list. An empty hash would return empty list but question says it has data.
Final Answer:
myhash is not a hash type but a string or other type -> Option C
Quick Check:
Wrong type key = empty HKEYS result [OK]
Hint: Empty HKEYS often means key is wrong type, not empty hash [OK]
Common Mistakes:
Assuming empty list means empty hash
Ignoring key data type
Thinking server down returns empty list
5. You want to list all field names and values from a Redis hash session:123 but only want the values that are not empty strings. Which approach using HKEYS and HVALS is best?
hard
A. Use HVALS session:123 and remove empty strings from the returned list
B. Use HKEYS session:123 only, empty values are not returned
C. Use HGETALL session:123 and filter out empty values in your application
D. Use HKEYS session:123 to get keys, then filter values by fetching each with HGET and checking for empty strings
Solution
Step 1: Understand what HKEYS and HVALS return
HKEYS returns all field names, HVALS returns all values including empty strings.
Step 2: Choose a method to filter empty values
Since HVALS returns all values without keys, filtering empty strings is hard without knowing which value belongs to which key. Using HKEYS to get keys, then fetching each value with HGET allows filtering empty strings precisely.
Step 3: Evaluate other options
HVALS alone does not provide keys, so filtering loses context. HGETALL returns all keys and values but question asks about HKEYS and HVALS usage. Using only HKEYS does not get values.
Final Answer:
Use HKEYS to get keys, then fetch and filter values with HGET -> Option D
Quick Check:
Filter empty values by keys + HGET = B [OK]
Hint: Get keys first, then fetch values to filter empty strings [OK]
Common Mistakes:
Filtering values without keys loses context
Assuming HVALS excludes empty strings
Using only HKEYS without fetching values
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.