Bird
Raised Fist0
Redisquery~30 mins

HINCRBY for numeric fields in Redis - Mini Project: Build & Apply

Choose your learning style10 modes available
Using HINCRBY to Update Numeric Fields in Redis Hashes
📖 Scenario: You are managing a simple Redis database for a small online store. You want to keep track of the number of items sold for each product using Redis hashes.
🎯 Goal: Build a Redis hash to store product sales counts and use HINCRBY to update these counts as sales happen.
📋 What You'll Learn
Create a Redis hash called product_sales with initial sales counts for three products.
Set a variable increment to the number 5 to represent new sales.
Use HINCRBY to increase the sales count of the product apple by the value of increment.
Add a final command to retrieve all fields and values from the product_sales hash.
💡 Why This Matters
🌍 Real World
Tracking product sales counts in an online store using Redis hashes is a common real-world use case.
💼 Career
Understanding how to update numeric fields efficiently in Redis is important for backend developers working with caching and real-time data.
Progress0 / 4 steps
1
Create the initial Redis hash with product sales counts
Create a Redis hash called product_sales with these exact fields and values: apple 10, banana 20, and orange 15 using the HMSET command.
Redis
Hint

Use HMSET followed by the hash name and pairs of field and value.

2
Set the increment value for sales
Set a Redis string variable called increment to the number 5 using the SET command.
Redis
Hint

Use SET increment 5 to store the increment value.

3
Increase the sales count for apple using HINCRBY
Use the HINCRBY command to increase the apple field in the product_sales hash by the value stored in increment. Since HINCRBY requires a number, first retrieve the value of increment and then use it in HINCRBY.
Redis
Hint

Since Redis commands are atomic, you can directly use the number 5 in HINCRBY here.

4
Retrieve all product sales counts
Use the HGETALL command to get all fields and values from the product_sales hash.
Redis
Hint

Use HGETALL product_sales to see all product sales counts.

Practice

(1/5)
1. What does the Redis command HINCRBY do when used on a hash field?
easy
A. It increments or decrements the numeric value stored in the field by a given amount.
B. It deletes the field from the hash.
C. It sets the field to a new string value.
D. It returns the current value of the field without changing it.

Solution

  1. Step 1: Understand the purpose of HINCRBY

    HINCRBY is designed to change numeric values inside a hash by adding or subtracting a specified number.
  2. Step 2: Identify the effect on the hash field

    It modifies the existing numeric value by the given increment or decrement amount.
  3. Final Answer:

    It increments or decrements the numeric value stored in the field by a given amount. -> Option A
  4. Quick Check:

    HINCRBY changes numbers inside a hash = B [OK]
Hint: HINCRBY always changes numbers by adding or subtracting [OK]
Common Mistakes:
  • Thinking HINCRBY deletes or resets fields
  • Using HINCRBY on non-numeric fields without error
  • Confusing HINCRBY with commands that just read values
2. Which of the following is the correct syntax to increment the field score by 5 in a Redis hash named player1?
easy
A. HINCRBY 5 player1 score
B. HINCRBY score player1 5
C. HINCRBY player1 5 score
D. HINCRBY player1 score 5

Solution

  1. Step 1: Recall the correct order of HINCRBY arguments

    The syntax is: HINCRBY key field increment.
  2. Step 2: Match the syntax to the given options

    HINCRBY player1 score 5 follows the correct order: key = player1, field = score, increment = 5.
  3. Final Answer:

    HINCRBY player1 score 5 -> Option D
  4. Quick Check:

    HINCRBY key field increment = A [OK]
Hint: Remember: HINCRBY key field increment [OK]
Common Mistakes:
  • Swapping field and key positions
  • Placing increment before field or key
  • Using wrong argument order causing errors
3. Given the following Redis commands executed in order:
HSET player1 score 10
HINCRBY player1 score 7
HINCRBY player1 score -3
What is the final value of score in player1?
medium
A. 10
B. 17
C. 14
D. 7

Solution

  1. Step 1: Set initial value of score

    HSET sets score to 10.
  2. Step 2: Apply first increment

    HINCRBY adds 7, so score becomes 10 + 7 = 17.
  3. Step 3: Apply second increment (decrement)

    HINCRBY subtracts 3, so score becomes 17 - 3 = 14.
  4. Final Answer:

    14 -> Option C
  5. Quick Check:

    10 + 7 - 3 = 14 [OK]
Hint: Add increments step-by-step to find final value [OK]
Common Mistakes:
  • Ignoring negative increments
  • Adding increments incorrectly
  • Assuming initial value is zero
4. You run the command HINCRBY player1 level 1 but get an error. The field level currently holds the string value beginner. What is the cause of the error?
medium
A. The increment value must be a string, not a number.
B. HINCRBY cannot increment a field with a non-numeric value.
C. The key player1 does not exist.
D. HINCRBY requires the field to be empty before incrementing.

Solution

  1. Step 1: Check the field value type

    The field level contains a non-numeric string "beginner".
  2. Step 2: Understand HINCRBY requirements

    HINCRBY only works on fields with numeric values; it cannot increment strings.
  3. Final Answer:

    HINCRBY cannot increment a field with a non-numeric value. -> Option B
  4. Quick Check:

    Non-numeric field causes HINCRBY error = C [OK]
Hint: HINCRBY only works on numeric fields, not strings [OK]
Common Mistakes:
  • Assuming HINCRBY creates or converts strings automatically
  • Thinking key absence causes this error
  • Believing increment must be string type
5. You have a Redis hash inventory with fields apples = 10 and oranges = 5. You want to add 3 apples and subtract 2 oranges using HINCRBY commands. Which sequence of commands correctly updates the inventory?
hard
A. HINCRBY inventory apples 3
HINCRBY inventory oranges -2
B. HINCRBY inventory apples -3
HINCRBY inventory oranges 2
C. HINCRBY inventory apples 3
HINCRBY inventory oranges 2
D. HINCRBY inventory apples -3
HINCRBY inventory oranges -2

Solution

  1. Step 1: Identify the required changes

    We want to add 3 to apples and subtract 2 from oranges.
  2. Step 2: Match increments with commands

    Adding 3 means increment by 3; subtracting 2 means increment by -2.
  3. Step 3: Verify command sequence

    HINCRBY inventory apples 3
    HINCRBY inventory oranges -2 correctly uses HINCRBY inventory apples 3 and HINCRBY inventory oranges -2.
  4. Final Answer:

    HINCRBY inventory apples 3
    HINCRBY inventory oranges -2
    -> Option A
  5. Quick Check:

    Add positive, subtract negative with HINCRBY = A [OK]
Hint: Use positive to add, negative to subtract with HINCRBY [OK]
Common Mistakes:
  • Using negative to add or positive to subtract incorrectly
  • Mixing up fields and increments
  • Assuming HINCRBY can subtract by positive number
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