Skip to main content

SORT

Syntax

SORT key [LIMIT offset count] [ASC | DESC] [ALPHA]

Time complexity: O(N+M*log(M)) where N is the number of elements in the list or set to sort, and M the number of returned elements. When the elements are not sorted, complexity is O(N).

ACL categories: @write, @set, @sortedset, @list, @slow, @dangerous

Returns or stores the elements contained in the list, set or sorted set at key.

By default, sorting is numeric and elements are compared by their value interpreted as double precision floating point number. This is SORT in its simplest form:

SORT mylist

Assuming mylist is a list of numbers, this command will return the same list with the elements sorted from small to large. In order to sort the numbers from large to small, use the !DESC modifier:

SORT mylist DESC

When mylist contains string values and you want to sort them lexicographically, use the !ALPHA modifier:

SORT mylist ALPHA

Dragonfly is UTF-8 aware.

The number of returned elements can be limited using the !LIMIT modifier. This modifier takes the offset argument, specifying the number of elements to skip and the count argument, specifying the number of elements to return from starting at offset. The following example will return 10 elements of the sorted version of mylist, starting at element 0 (offset is zero-based):

SORT mylist LIMIT 0 10

Almost all modifiers can be used together. The following example will return the first 5 elements, lexicographically sorted in descending order:

SORT mylist LIMIT 0 5 ALPHA DESC

Return

Array reply: list of sorted elements.