2 <!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01//EN"> 
   5         <link type=
"text/css" rel=
"stylesheet" href=
"style.css" /> 
  12             <img style=
"border:none" alt=
"Redis Documentation" src=
"redis.png"> 
  16             <div id=
"pagecontent"> 
  18 <!-- This is a (PRE) block.  Make sure it's left aligned or your toc title will be off. --> 
  19 <b>SortCommand: Contents
</b><br>  <a href=
"#SORT _key_ BY _pattern_ LIMIT _start_ _end_ GET _pattern_ ASC|DESC ALPHA">SORT _key_ BY _pattern_ LIMIT _start_ _end_ GET _pattern_ ASC|DESC ALPHA
</a><br>    <a href=
"#Return value">Return value
</a><br>    <a href=
"#See Also">See Also
</a> 
  22                 <h1 class=
"wikiname">SortCommand
</h1> 
  29                     <h1><a name=
"SORT _key_ BY _pattern_ LIMIT _start_ _end_ GET _pattern_ ASC|DESC ALPHA">SORT _key_ BY _pattern_ LIMIT _start_ _end_ GET _pattern_ ASC|DESC ALPHA
</a></h1> 
  30 <blockquote>Sort the elements contained in the List or Set value at 
<i>key
</i>. By defaultsorting is numeric with elements being compared as double precisionfloating point numbers. This is the simplest form of SORT.
</blockquote> 
  31 <pre class=
"codeblock python" name=
"code"> 
  33 </pre><blockquote>Assuming mylist contains a list of numbers, the return value will bethe list of numbers ordered from the smallest to the bigger number.In order to get the sorting in reverse order use DESC:
</blockquote> 
  34 <pre class=
"codeblock python python" name=
"code"> 
  36 </pre><blockquote>ASC is also supported but it's the default so you don't really need it.If you want to sort lexicographically use ALPHA. Note that Redis isutf-
8 aware assuming you set the right value for the LC_COLLATEenvironment variable.
</blockquote> 
  37 <blockquote>Sort is able to limit the number of results using the LIMIT option:
</blockquote> 
  38 <pre class=
"codeblock python python python" name=
"code"> 
  39 SORT mylist LIMIT 
0 10 
  40 </pre><blockquote>In the above example SORT will return only 
10 elements, starting fromthe first one (star is zero-based). Almost all the sort options canbe mixed together. For example:
</blockquote> 
  41 <pre class=
"codeblock python python python python" name=
"code"> 
  42 SORT mylist LIMIT 
0 10 ALPHA DESC
 
  43 </pre><blockquote>Will sort 
<i>mylist
</i> lexicographically, in descending order, returning onlythe first 
10 elements.
</blockquote> 
  44 <blockquote>Sometimes you want to sort elements using external keys as weights tocompare instead to compare the actual List or Set elements. For examplethe list 
<i>mylist
</i> may contain the elements 
1, 
2, 
3, 
4, that are justthe unique IDs of objects stored at object_1, object_2, object_3and object_4, while the keys weight_1, weight_2, weight_3 and weight_4can contain weights we want to use to sort the list of objectsidentifiers. We can use the following command:
</blockquote> 
  45 <pre class=
"codeblock python python python python python" name=
"code"> 
  46 SORT mylist BY weight_*
 
  47 </pre><blockquote>the BY option takes a pattern (
<code name=
"code" class=
"python">weight_*
</code> in our example) that is usedin order to generate the key names of the weights used for sorting.Weight key names are obtained substituting the first occurrence of 
<code name=
"code" class=
"python">*
</code>with the actual value of the elements on the list (
1,
2,
3,
4 in our example).
</blockquote> 
  48 <blockquote>Still our previous example will return just the sorted IDs. Often it isneeded to get the actual objects sorted (object_1, ..., object_4 in theexample). We can do it with the following command:
</blockquote> 
  49 <pre class=
"codeblock python python python python python python" name=
"code"> 
  50 SORT mylist BY weight_* GET object_*
 
  51 </pre><blockquote>Note that GET can be used multiple times in order to get more keys forevery element of the original List or Set sorted.
</blockquote> 
  52 <h2><a name=
"Return value">Return value
</a></h2><a href=
"ReplyTypes.html">Multi bulk reply
</a>, specifically a list of sorted elements.
<h2><a name=
"See Also">See Also
</a></h2> 
  53 <ul><li> <a href=
"SinterCommand.html">SINTER
</a></li><li> <a href=
"SunionCommand.html">SUNION
</a></li></ul>