Key/Value API v0.5.8

Introduction

Data types

Data modeling

String commands

List commands

Set commands

Sorted set commands

Hash commands

Sorted Set

Sorted Set data type

Sorted Set data type

The Sorted Set data type is a score ordered sequence of unique members. The score is an arbitrary floating point value that you define.

Unlike a list or set, each Sorted Set member is comprised of two items, the member on the left and the score on the right.

A Sorted Set is ordered from low to high. This means that we have to query by reverse range to get a list of top scored members.

Introduction to Sorted Set commands

We can add and update Sorted Set members with ZADD.

ZCARD, which stands for cardinality, returns a count of Sorted Set members. In our blog post example, we can use ZCARD to get a count of how many blog posts have at least 1 vote.

Use ZRANK to get the rank of a member. For gaming applications, ZRANK can be used to show a user their ranking amongst all users.

ZSCORE can be used to get a member’s score, or it can be used to display how many votes a web page has received.

Sorted sets support a variety of range commands. Use ZREVRANGE to get a list of the top voted blog posts.

Sorted sets can be used to list members alphabetically. If we’re building a contacts list, such as in a communications app, first add each member with a score of 1. Then use ZRANGEBYLEX to select all contacts with A names, or all contacts between C and E.

Continuing the example above, you can use ZLEXCOUNT to display a badge next to each letter of the alphabet with a count of the number of contacts with names that start with that letter.

As with sets, we can also get the union and intersection of multiple sorted sets.