Files
redis-docs/docs/ZrangebyscoreCommand.rst
Kenneth Reitz 525e9fd3d3 all into sphinx
2011-04-06 13:27:48 -04:00

99 lines
3.7 KiB
ReStructuredText
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
`|Redis Documentation| <index.html>`_
**ZrangebyscoreCommand: Contents**
  `ZRANGEBYSCORE \_key\_ \_min\_ \_max\_ \`[\`LIMIT \_offset\_ \_count\_\`]\` (Redis > <#ZRANGEBYSCORE%20_key_%20_min_%20_max_%20%60[%60LIMIT%20_offset_%20_count_%60]%60%20(Redis%20%3E>`_
  `ZRANGEBYSCORE \_key\_ \_min\_ \_max\_ \`[\`LIMIT \_offset\_ \_count\_\`]\` \`[\`WITHSCORES\`]\` (Redis > <#ZRANGEBYSCORE%20_key_%20_min_%20_max_%20%60[%60LIMIT%20_offset_%20_count_%60]%60%20%60[%60WITHSCORES%60]%60%20(Redis%20%3E>`_
  `ZCOUNT \_key\_ \_min\_ \_max\_ <#ZCOUNT%20_key_%20_min_%20_max_>`_
    `Exclusive intervals and infinity <#Exclusive%20intervals%20and%20infinity>`_
    `Return value <#Return%20value>`_
    `Examples <#Examples>`_
ZrangebyscoreCommand
====================
#sidebar
`SortedSetCommandsSidebar <SortedSetCommandsSidebar.html>`_
ZRANGEBYSCORE \_key\_ \_min\_ \_max\_ \`[\`LIMIT \_offset\_ \_count\_\`]\` (Redis >
===================================================================================
1.1) =
ZRANGEBYSCORE \_key\_ \_min\_ \_max\_ \`[\`LIMIT \_offset\_ \_count\_\`]\` \`[\`WITHSCORES\`]\` (Redis >
========================================================================================================
1.3.4) =
ZCOUNT \_key\_ \_min\_ \_max\_
==============================
*Time complexity: O(log(N))+O(M) with N being the number of elements in the sorted set and M the number of elements returned by the command, so if M is constant (for instance you always ask for the first ten elements with LIMIT) you can consider it O(log(N))*
Return the all the elements in the sorted set at key with a score
between\_min\_ and *max* (including elements with score equal to
min or max).
The elements having the same score are returned sorted
lexicographically asASCII strings (this follows from a property of
Redis sorted sets and does notinvolve further computation).
Using the optional LIMIT it's possible to get only a range of the
matchingelements in an SQL-alike way. Note that if *offset* is
large the commandsneeds to traverse the list for *offset* elements
and this adds up to theO(M) figure.
The **ZCOUNT** command is similar to **ZRANGEBYSCORE** but instead
of returningthe actual elements in the specified interval, it just
returns the numberof matching elements.
Exclusive intervals and infinity
--------------------------------
*min* and *max* can be -inf and +inf, so that you are not required
to know what's the greatest or smallest element in order to take,
for instance, elements "up to a given value".
Also while the interval is for default closed (inclusive) it's
possible to specify open intervals prefixing the score with a "("
character, so for instance:
::
ZRANGEBYSCORE zset (1.3 5
Will return all the values with score **> 1.3 and <= 5**, while for
instance:
::
ZRANGEBYSCORE zset (5 (10
Will return all the values with score **> 5 and < 10** (5 and 10
excluded).
Return value
------------
ZRANGEBYSCORE returns a `Multi bulk reply <ReplyTypes.html>`_
specifically a list of elements in the specified score range.
ZCOUNT returns a `Integer reply <ReplyTypes.html>`_ specifically
the number of elements matching the specified score range.
Examples
--------
::
redis> zadd zset 1 foo
(integer) 1
redis> zadd zset 2 bar
(integer) 1
redis> zadd zset 3 biz
(integer) 1
redis> zadd zset 4 foz
(integer) 1
redis> zrangebyscore zset -inf +inf
1. "foo"
2. "bar"
3. "biz"
4. "foz"
redis> zcount zset 1 2
(integer) 2
redis> zrangebyscore zset 1 2
1. "foo"
2. "bar"
redis> zrangebyscore zset (1 2
1. "bar"
redis> zrangebyscore zset (1 (2
(empty list or set)
.. |Redis Documentation| image:: redis.png