Использование perl-модуля Redis.pm. Часть 4

Redis ZSet или Sorted Set - это упорядоченное множество, коллекция строк. Каждый элемент такого множества, кроме собственно, значения-строки, имеет назначенную ему оценку (score) . Score служит для сортировки списка, и ее значение определяет положение элемента в списке. При изменении score для элемента - меняется и положение этого элемента.

Score должна быть строкой, представляющей собой число с плавающей точкой в двойной точности.

В целом, внешне, упорядоченные множества напоминают Perl-массивы, с той разницей, что значение индекса можно задавать самостоятельно и совершенно произвольно. Можно создать список, который содержит всего два элемента, при этом первый элемент имеет score - 5, а второй - 130.

 

Методы для операций над упорядоченными множествами в значениях ключей

Метод zadd

Добавление ко множеству нового элемента с его оценкой.

Если указанный ключ уже существует и содержит в себе значение другого типа, клиент получит
ошибку. Например:

 

Метод zrem

Удаление заданного элемента из множества.

 

Метод zincrby

Увеличение оценки (score) заданного элемента на величину $increment.

 

Метод zrank

Получение номера позиции элемента во множестве.

 

Метод zrevrank

Получение номера позиции элемента во множестве. В отличие от zrank, поиск элемента начинается с другого конца множества.

 

Метод zrange

Получение набора отсортированных элементов множества, чьи позиции находятся в заданном диапазоне. $start - номер позиции, с которой начинается выборка, $end - номер позиции, которой она заканчивается.

 

Метод zrevrange

Получение набора элементов, отсортированных в обратном порядке. $start - номер позиции, с которой начинается выборка, $end - номер позиции, которой она заканчивается.

 

Метод zrangebyscore

Получение списка элементов с оценками из заданного диапазона. $min - это минимальное значение score в диапазоне, $max - максимальное.

 

Метод zcount

Получение количества элементов множества, чьи оценки (score) находятся в заданном диапазоне. $min - это минимальное значение score в диапазоне, $max - максимальное.

 

Метод zcard

Получить число - количество всех элементов множества.

 

Метод zscore

Получить оценку (score) для заданного элемента упорядоченного множества.