Bird
Raised Fist0
Redisquery~5 mins

ZRANGEBYLEX for lexicographic queries in Redis - Cheat Sheet & Quick Revision

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

ZRANGEBYLEX returns members in a sorted set within a specified lexicographic range.

It sorts by dictionary order, not by score.

Click to reveal answer
beginner
How do you specify an inclusive range in ZRANGEBYLEX?

Use square brackets [ before the value.

Example: [apple means include 'apple' in the range.

Click to reveal answer
beginner
What symbols indicate exclusive range boundaries in ZRANGEBYLEX?

Use parentheses ( before the value.

Example: (apple means exclude 'apple' from the range.

Click to reveal answer
beginner
What do the special values - and + mean in ZRANGEBYLEX?

- means the smallest possible value (start of range).

+ means the largest possible value (end of range).

Click to reveal answer
beginner
Can ZRANGEBYLEX be used to query by score in Redis sorted sets?

No. ZRANGEBYLEX queries by lexicographic order of members, ignoring scores.

Use ZRANGEBYSCORE to query by score.

Click to reveal answer
What does ZRANGEBYLEX myset [a (c return?
AMembers from 'a' exclusive up to 'c' inclusive
BMembers from 'a' inclusive up to 'c' exclusive
CMembers from 'a' exclusive up to 'c' exclusive
DMembers from 'a' inclusive up to 'c' inclusive
Which command would you use to get all members lexicographically greater than 'mango'?
AZRANGEBYLEX myset (mango +
BZRANGEBYLEX myset [mango +
CZRANGEBYSCORE myset (mango +
DZRANGEBYLEX myset - (mango
What does the - symbol mean in ZRANGEBYLEX?
AInclude the member
BLargest possible member
CExclude the member
DSmallest possible member
If you want to include 'banana' in the range, which prefix do you use?
A[banana
B(banana
C-banana
D+banana
Can ZRANGEBYLEX return members sorted by their scores?
AYes, if you specify a score range
BYes, it sorts by score
CNo, it sorts by lexicographic order only
DNo, it returns random members
Explain how to use ZRANGEBYLEX to get members between two lexicographic values, including how to specify inclusive and exclusive ranges.
Think about how dictionary order works and how to include or exclude boundary words.
You got /4 concepts.
    Describe the difference between ZRANGEBYLEX and ZRANGEBYSCORE in Redis sorted sets.
    One sorts by words, the other by numbers.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the Redis command ZRANGEBYLEX do?
      easy
      A. Returns members sorted by their score in descending order.
      B. Returns members in a sorted set within a lexicographic range.
      C. Deletes members from a sorted set based on lexicographic order.
      D. Adds members to a sorted set with a lexicographic score.

      Solution

      1. Step 1: Understand the command purpose

        ZRANGEBYLEX is used to get members from a sorted set based on their alphabetical order, not their score.
      2. Step 2: Compare options with command behavior

        Only Returns members in a sorted set within a lexicographic range. correctly describes that it returns members within a lexicographic range. Other options confuse sorting by score or modifying the set.
      3. Final Answer:

        Returns members in a sorted set within a lexicographic range. -> Option B
      4. Quick Check:

        ZRANGEBYLEX = Lexicographic range retrieval [OK]
      Hint: ZRANGEBYLEX fetches by alphabetical order, not score [OK]
      Common Mistakes:
      • Confusing lexicographic order with score order
      • Thinking it deletes or adds members
      • Assuming it sorts in descending order
      2. Which of the following is the correct syntax to get members from 'myzset' between 'a' and 'c' inclusive using ZRANGEBYLEX?
      easy
      A. ZRANGEBYLEX myzset [a [c
      B. ZRANGEBYLEX myzset (a (c
      C. ZRANGEBYLEX myzset a c
      D. ZRANGEBYLEX myzset {a {c

      Solution

      1. Step 1: Recall syntax for inclusive range

        In ZRANGEBYLEX, square brackets [ ] mean inclusive boundaries.
      2. Step 2: Match syntax with options

        ZRANGEBYLEX myzset [a [c uses [a and [c, correctly including both 'a' and 'c'. Other options use parentheses or braces which mean exclusive or invalid.
      3. Final Answer:

        ZRANGEBYLEX myzset [a [c -> Option A
      4. Quick Check:

        Inclusive range uses [ ] brackets [OK]
      Hint: Use [ ] for inclusive, ( ) for exclusive in ZRANGEBYLEX [OK]
      Common Mistakes:
      • Using parentheses instead of brackets for inclusive range
      • Omitting brackets causing syntax errors
      • Using curly braces which are invalid here
      3. Given a sorted set 'myzset' with members: ['apple', 'banana', 'carrot', 'date', 'egg'], what is the result of ZRANGEBYLEX myzset [banana (date?
      medium
      A. ['banana', 'carrot', 'date', 'egg']
      B. ['banana', 'carrot', 'date']
      C. ['carrot', 'date']
      D. ['banana', 'carrot']

      Solution

      1. Step 1: Understand the range boundaries

        Start is inclusive [banana], end is exclusive (date), so 'date' is not included.
      2. Step 2: Select members in range

        Members between 'banana' and before 'date' are 'banana' and 'carrot'. 'date' and 'egg' are excluded.
      3. Final Answer:

        ['banana', 'carrot'] -> Option D
      4. Quick Check:

        Inclusive start, exclusive end excludes 'date' [OK]
      Hint: Remember ( ) excludes the boundary member [OK]
      Common Mistakes:
      • Including 'date' despite exclusive end
      • Including 'egg' which is outside range
      • Confusing inclusive and exclusive boundaries
      4. You run ZRANGEBYLEX myzset [a [z LIMIT 0 2 but get an error. What is the likely cause?
      medium
      A. LIMIT requires both offset and count as integers.
      B. LIMIT must come before the range arguments.
      C. Range boundaries must use parentheses, not brackets.
      D. myzset does not exist, causing the error.

      Solution

      1. Step 1: Check LIMIT syntax

        LIMIT requires two integer arguments: offset and count. If either is missing or not integer, error occurs.
      2. Step 2: Compare options

        LIMIT requires offset and count to be valid integers; non-integer values (e.g., strings like "two" or malformed) cause syntax errors. Other options are incorrect: LIMIT follows the range arguments (not B), brackets are valid for inclusive (not C), non-existent key returns empty list (not D).
      3. Final Answer:

        LIMIT requires both offset and count as integers. -> Option A
      4. Quick Check:

        LIMIT needs two integer args [OK]
      Hint: LIMIT needs two integers: offset and count [OK]
      Common Mistakes:
      • Using LIMIT with missing or non-integer arguments
      • Placing LIMIT before range arguments
      • Confusing bracket types for range boundaries
      5. You want to get exactly 3 members from 'myzset' starting after 'apple' (exclusive) up to 'date' (inclusive). Which command is correct?
      hard
      A. ZRANGEBYLEX myzset (apple (date LIMIT 0 3
      B. ZRANGEBYLEX myzset [apple [date LIMIT 1 3
      C. ZRANGEBYLEX myzset (apple [date LIMIT 0 3
      D. ZRANGEBYLEX myzset [apple (date LIMIT 0 3

      Solution

      1. Step 1: Set correct range boundaries

        Start after 'apple' means exclusive start: (apple). End up to 'date' inclusive means [date].
      2. Step 2: Use LIMIT to get 3 members from start

        LIMIT 0 3 means start at offset 0 and get 3 members.
      3. Step 3: Verify options

        Only ZRANGEBYLEX myzset (apple [date LIMIT 0 3 matches exclusive start, inclusive end, and correct LIMIT usage.
      4. Final Answer:

        ZRANGEBYLEX myzset (apple [date LIMIT 0 3 -> Option C
      5. Quick Check:

        Exclusive start ( ), inclusive end [ ], LIMIT 0 3 [OK]
      Hint: Use ( for exclusive start, [ for inclusive end, LIMIT 0 3 for 3 items [OK]
      Common Mistakes:
      • Using inclusive start when exclusive is needed
      • Mixing up LIMIT offset and count
      • Using wrong bracket types for boundaries
      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