Bird
Raised Fist0
Redisquery~10 mins

GETRANGE and SETRANGE in Redis - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to get a substring from a Redis string key using GETRANGE.

Redis
GETRANGE mykey [1] 4
Drag options to blanks, or click blank then click option'
A10
B0
C-1
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using a negative start index without understanding it counts from the end.
Using an index larger than the string length.
2fill in blank
medium

Complete the code to set a substring in a Redis string key starting at offset 3 using SETRANGE.

Redis
SETRANGE mykey [1] "abc"
Drag options to blanks, or click blank then click option'
A3
B-1
C0
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using negative offsets which are invalid for SETRANGE.
Confusing the offset with the length of the substring.
3fill in blank
hard

Fix the error in the GETRANGE command to correctly get characters from index 2 to 5.

Redis
GETRANGE mykey [1] 5
Drag options to blanks, or click blank then click option'
A5
B1
C3
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Starting at index 1 which skips the first character.
Using the end index as the start index.
4fill in blank
hard

Fill both blanks to set the substring "xyz" starting at offset 1 and then get the substring from index 0 to 3.

Redis
SETRANGE mykey [1] "xyz"
GETRANGE mykey 0 [2]
Drag options to blanks, or click blank then click option'
A1
B2
C3
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using offset 0 for SETRANGE which replaces from the first character.
Using 2 as the end index in GETRANGE which returns fewer characters.
5fill in blank
hard

Fill all three blanks to set "123" at offset 0, then "abc" at offset 3, and finally get substring from 0 to 5.

Redis
SETRANGE mykey [1] "123"
SETRANGE mykey [2] "abc"
GETRANGE mykey 0 [3]
Drag options to blanks, or click blank then click option'
A0
B3
C5
D6
Attempts:
3 left
💡 Hint
Common Mistakes
Using offset 1 instead of 0 for the first SETRANGE.
Using 6 as the end index in GETRANGE which returns too many characters.

Practice

(1/5)
1. What does the Redis command GETRANGE key 0 4 do?
easy
A. Returns the substring of the value stored at key from index 0 to 4 inclusive.
B. Deletes the first 5 characters of the string stored at key.
C. Replaces the first 5 characters of the string stored at key with zeros.
D. Returns the length of the string stored at key.

Solution

  1. Step 1: Understand GETRANGE parameters

    The command GETRANGE key start end returns the substring from the start index to the end index inclusive.
  2. Step 2: Apply to given indices

    With start=0 and end=4, it returns characters at positions 0,1,2,3,4 from the string stored at key.
  3. Final Answer:

    Returns substring from index 0 to 4 inclusive -> Option A
  4. Quick Check:

    GETRANGE extracts substring = A [OK]
Hint: GETRANGE extracts substring by start and end indexes [OK]
Common Mistakes:
  • Thinking GETRANGE deletes or modifies the string
  • Confusing GETRANGE with SETRANGE
  • Assuming end index is exclusive
2. Which of the following is the correct syntax to replace part of a string value in Redis using SETRANGE?
easy
A. SETRANGE key value offset
B. SETRANGE key offset value
C. SET key offset value
D. GETRANGE key offset value

Solution

  1. Step 1: Recall SETRANGE syntax

    The correct syntax is SETRANGE key offset value, where offset is the start position to replace and value is the new substring.
  2. Step 2: Check options

    Only SETRANGE key offset value matches this syntax exactly.
  3. Final Answer:

    SETRANGE key offset value -> Option B
  4. Quick Check:

    Correct SETRANGE syntax = A [OK]
Hint: Remember SETRANGE order: key, offset, then value [OK]
Common Mistakes:
  • Swapping offset and value positions
  • Using GETRANGE instead of SETRANGE
  • Using SET instead of SETRANGE
3. Given the Redis string value at key mykey is "HelloWorld", what will be the result of GETRANGE mykey 5 7?
medium
A. "World"
B. "Hello"
C. "loW"
D. "Wor"

Solution

  1. Step 1: Identify substring indices

    The string is "HelloWorld" with indices: H(0), e(1), l(2), l(3), o(4), W(5), o(6), r(7), l(8), d(9).
  2. Step 2: Extract substring from index 5 to 7

    Characters at 5,6,7 are 'W', 'o', 'r', so the substring is "Wor".
  3. Final Answer:

    "Wor" -> Option D
  4. Quick Check:

    GETRANGE returns substring = B [OK]
Hint: Count string indexes from 0 to get substring [OK]
Common Mistakes:
  • Counting indexes starting at 1
  • Including characters outside the range
  • Confusing GETRANGE with SETRANGE
4. You run SETRANGE mykey 3 "abc" on a Redis string "abcdef". The result is unexpected. What is the likely mistake?
medium
A. Using quotes around the substring value in the command.
B. Offset 3 is out of range for the string length.
C. SETRANGE cannot modify existing strings.
D. The key mykey does not exist.

Solution

  1. Step 1: Understand SETRANGE usage

    SETRANGE expects the substring value without quotes; quotes are interpreted literally.
  2. Step 2: Identify the mistake

    Using quotes like "abc" inserts the quotes as characters, causing unexpected results.
  3. Final Answer:

    Using quotes around substring causes wrong replacement -> Option A
  4. Quick Check:

    Quotes in SETRANGE value cause errors = C [OK]
Hint: Do not include quotes around substring in SETRANGE [OK]
Common Mistakes:
  • Including quotes around substring value
  • Assuming offset must be within string length
  • Thinking SETRANGE creates new keys automatically
5. If the Redis key text holds the string "abcdefghij", what will be the final string after executing SETRANGE text 5 "XYZ" followed by GETRANGE text 3 7?
hard
A. "defgh"
B. "fghij"
C. "deXYZ"
D. "defXY"

Solution

  1. Step 1: Apply SETRANGE at offset 5

    Original string: "abcdefghij". SETRANGE replaces characters at positions 5,6,7 with "XYZ". Positions: a(0), b(1), c(2), d(3), e(4), f(5), g(6), h(7), i(8), j(9). After replacement: "abcdeXYZij".
  2. Step 2: Apply GETRANGE from 3 to 7

    Characters at positions 3 to 7 are: d(3), e(4), X(5), Y(6), Z(7). So substring is "deXYZ".
  3. Final Answer:

    "deXYZ" -> Option C
  4. Quick Check:

    SETRANGE modifies substring, GETRANGE extracts it = D [OK]
Hint: Apply SETRANGE first, then GETRANGE on updated string [OK]
Common Mistakes:
  • Not updating string before GETRANGE
  • Miscounting offset positions
  • Assuming GETRANGE returns original string
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