Bird
Raised Fist0
Redisquery~5 mins

GETRANGE and SETRANGE in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the Redis command GETRANGE do?
GETRANGE returns a substring of the string stored at a given key. You specify the start and end positions, and it returns the part of the string between them.
Click to reveal answer
beginner
How does SETRANGE modify a string in Redis?
SETRANGE changes part of the string stored at a key, starting at a specified offset, by overwriting it with a new substring. If the string is shorter, it is extended with zero bytes.
Click to reveal answer
intermediate
What happens if the end index in GETRANGE is beyond the string length?
GETRANGE returns the substring from the start index to the end of the string without error, even if the end index is beyond the string length.
Click to reveal answer
intermediate
If you use SETRANGE with an offset larger than the current string length, what does Redis do?
Redis pads the string with zero bytes up to the offset, then writes the new substring starting at that offset.
Click to reveal answer
intermediate
Can GETRANGE and SETRANGE be used on keys that do not exist?
GETRANGE on a non-existing key returns an empty string. SETRANGE on a non-existing key creates a new string padded with zero bytes as needed.
Click to reveal answer
What does GETRANGE key 0 4 return if the string stored is 'hello world'?
A"hell"
B"hello"
C"hello "
D"ello"
If you run SETRANGE key 6 "Redis" on the string 'hello world', what is the new string?
A"hello Redisld"
B"hello Redisd"
C"hello Redis"
D"sideR olleh"
What does GETRANGE return if the key does not exist?
AEmpty string
BError
CNull
DZero bytes
What happens if SETRANGE is used with an offset larger than the string length?
AError is returned
BString is truncated
CNothing happens
DString is padded with zero bytes up to offset
Which command would you use to get a part of a string stored in Redis?
AGETRANGE
BSET
CGET
DSETRANGE
Explain how GETRANGE works in Redis and what happens if the requested range exceeds the string length.
Think about how you would cut a piece of a rope from start to end positions.
You got /4 concepts.
    Describe how SETRANGE modifies a string in Redis and what happens if the offset is beyond the current string length.
    Imagine painting over a wall starting at a certain point, and filling empty space if needed.
    You got /4 concepts.

      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