What Redis data structure is commonly used for range queries based on scores?
Redis Sorted Sets are used for range queries based on scores because they store members ordered by their score values.
Click to reveal answer
beginner
Which Redis command retrieves members with scores between a minimum and maximum value?
The command ZRangeByScore retrieves members with scores within a specified range.
Click to reveal answer
intermediate
How do you include the scores in the results when performing a range query in Redis?
Use the WITHSCORES option with ZRangeByScore to get both members and their scores.
Click to reveal answer
intermediate
What symbol do you use in Redis range queries to represent negative or positive infinity?
Use -inf for negative infinity and +inf for positive infinity to specify open-ended ranges.
Click to reveal answer
intermediate
How can you limit the number of results returned by a Redis range query?
Use the LIMIT offset count option with ZRangeByScore to restrict the number of returned members.
Click to reveal answer
Which Redis command fetches members with scores between 10 and 20?
AZSCORE key 10 20
BZRANGE key 10 20
CZRANGEBYSCORE key 10 20
DZGETRANGE key 10 20
✗ Incorrect
ZRANGEBYSCORE is the correct command to fetch members within a score range.
How do you get the scores along with members in a range query?
AAdd WITHSCORES option
BAdd GETSCORES option
CAdd SHOWSCORES option
DAdd SCORES option
✗ Incorrect
The WITHSCORES option returns scores with members.
What does -inf mean in a Redis range query?
AZero score
BNegative infinity, lowest possible score
CPositive infinity, highest possible score
DNo score
✗ Incorrect
-inf represents negative infinity, meaning no lower limit.
Which option limits the number of results in ZRangeByScore?
ALIMIT offset count
BCOUNT offset limit
CMAX offset count
DOFFSET limit count
✗ Incorrect
LIMIT offset count restricts the number of returned members.
If you want all members with scores greater than or equal to 50, what is the correct range?
A-inf +inf
B-inf 50
C0 50
D50 +inf
✗ Incorrect
Using 50 +inf fetches all members with scores from 50 upwards.
Explain how to perform a range query in Redis to get members with scores between two values, including how to get their scores and limit results.
Think about the command and options you add for scores and limits.
You got /4 concepts.
Describe the meaning and use of -inf and +inf in Redis range queries.
They help when you want to query from or up to any score.
You got /3 concepts.
Practice
(1/5)
1. What does the Redis command ZRANGEBYSCORE do?
easy
A. It returns members in a sorted set within a specified score range.
B. It deletes members from a sorted set based on score.
C. It adds new members to a sorted set with scores.
D. It returns the total number of members in a sorted set.
Solution
Step 1: Understand the command purpose
ZRANGEBYSCORE is used to get members from a sorted set filtered by score range.
Step 2: Compare options with command behavior
Only "It returns members in a sorted set within a specified score range." correctly describes returning members within a score range.
Final Answer:
It returns members in a sorted set within a specified score range. -> Option A
Quick Check:
ZRANGEBYSCORE = returns members by score range [OK]
Hint: ZRANGEBYSCORE fetches members filtered by score range [OK]
Common Mistakes:
Confusing ZRANGEBYSCORE with commands that add or delete members
Thinking it returns count instead of members
Assuming it sorts members by name instead of score
2. Which of the following is the correct syntax to get members with scores between 10 and 20 from a sorted set named myzset?
easy
A. ZRANGEBYSCORE myzset [10 [20
B. ZRANGEBYSCORE myzset (10 (20
C. ZRANGEBYSCORE myzset 10 20
D. ZRANGEBYSCORE myzset "10" "20"
Solution
Step 1: Recall basic syntax of ZRANGEBYSCORE
The command format is ZRANGEBYSCORE key min max where min and max are numbers or special strings.
Step 2: Analyze options for correct syntax
ZRANGEBYSCORE myzset 10 20 uses plain numbers 10 and 20 correctly. Options A and B use parentheses or brackets which mean exclusive or inclusive but are not needed here. ZRANGEBYSCORE myzset "10" "20" uses quotes which are unnecessary.
Final Answer:
ZRANGEBYSCORE myzset 10 20 -> Option C
Quick Check:
Syntax = ZRANGEBYSCORE key min max [OK]
Hint: Use plain numbers for inclusive score range in ZRANGEBYSCORE [OK]
Common Mistakes:
Using parentheses or brackets incorrectly for inclusive ranges
Adding quotes around numeric scores
Mixing up min and max order
3. Given the sorted set myzset with members and scores: {"a":5, "b":10, "c":15, "d":20}, what is the result of ZRANGEBYSCORE myzset 10 20 WITHSCORES?
medium
A. ["b", "10", "c", "15", "d", "20"]
B. ["a", "5", "b", "10", "c", "15"]
C. ["c", "15", "d", "20"]
D. ["a", "5", "d", "20"]
Solution
Step 1: Identify members with scores between 10 and 20 inclusive
Members with scores 10, 15, and 20 are "b", "c", and "d" respectively.
Step 2: Understand WITHSCORES option output
WITHSCORES returns members and their scores as alternating elements in the list.
Final Answer:
["b", "10", "c", "15", "d", "20"] -> Option A
Quick Check:
Members with scores 10-20 + WITHSCORES = ["b", "10", "c", "15", "d", "20"] [OK]
Hint: WITHSCORES returns member-score pairs in order [OK]
Common Mistakes:
Including members outside the score range
Returning only members without scores
Mixing order of members and scores
4. What is wrong with this command to get members with scores between 5 and 15 from myzset?
ZRANGEBYSCORE myzset 5 15 WITHSCORE
medium
A. The score range should be reversed as 15 5.
B. The option should be WITHSCORES, not WITHSCORE.
C. The command needs a LIMIT clause to work.
D. The key name must be quoted.
Solution
Step 1: Check the option spelling
The correct option to include scores is WITHSCORES (plural), not WITHSCORE.
Step 2: Verify other parts of the command
The score range 5 to 15 is correct, LIMIT is optional, and key names do not require quotes.
Final Answer:
The option should be WITHSCORES, not WITHSCORE. -> Option B
Quick Check:
Correct option spelling = WITHSCORES [OK]
Hint: Use WITHSCORES (plural) to get scores with members [OK]
Common Mistakes:
Misspelling WITHSCORES option
Reversing min and max scores
Adding unnecessary quotes around key
5. You have a sorted set players with player names and their scores. You want to find all players with scores greater than 50 but less than or equal to 100, including their scores. Which command correctly achieves this?
hard
A. ZRANGEBYSCORE players [50 100 WITHSCORES
B. ZRANGEBYSCORE players 50 100 WITHSCORES
C. ZRANGEBYSCORE players (50 (100 WITHSCORES
D. ZRANGEBYSCORE players (50 100 WITHSCORES
Solution
Step 1: Understand score range requirements
Scores must be greater than 50 (exclusive) and less than or equal to 100 (inclusive).
Step 2: Use parentheses for exclusive and plain number for inclusive
In Redis, (50 means greater than 50 (exclusive), and 100 means less than or equal to 100 (inclusive).
Step 3: Check command syntax
ZRANGEBYSCORE players (50 100 WITHSCORES correctly uses (50 and 100 with WITHSCORES option.
Final Answer:
ZRANGEBYSCORE players (50 100 WITHSCORES -> Option D
Quick Check:
Exclusive lower bound uses (number) syntax [OK]
Hint: Use (number for exclusive, number for inclusive in range [OK]
Common Mistakes:
Using brackets [] which Redis does not support for range
Not using parentheses for exclusive bounds
Confusing inclusive and exclusive range syntax
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.