Сортированный набор (Упорядоченный набор)
Отсортированные наборы, как и наборы, представляют собой коллекции строкового типа с уникальными элементами. Разница заключается в Отсортированном наборе. Будет ассоциироваться с двойным Введите оценка (оценка), используемая для сортировки. Членство уникально, но оценка Это можно повторить, если оценка Повторить и использовать сортировку по словарю. Максимальное количество участников составляет 2 32 – Один элемент (более 4 миллиардов).
Сценарий применения
Рейтинг по баллам
Пользователи сопоставляются с результатами (результатами игр, результатами тестов, баллами одобрения), а затем ранжируются.
Очередь задач
Задачи разделены на различные уровни, такие как важные 2 и неважные 1. Задачи распределены в соответствии с приоритетом.
Пример
php include 'redis.php'; $redis = getRedis(); $redisKey = 'name_scorted_set'; $redis - > zAdd ($redisKey, 78,'tom', 78,'jerry'); //Add members Echo $redis - > zCard ($redisKey).'< br />'; // Get membership 2 $redis - > zIncrBy ($redisKey, 2,'jerry'); // Incrementalize the specified value Print_r ($redis - > zRange ($redisKey, 0, -1)); // Gets the value of the specified index interval from small to large, as shown in the example of getting all the values Array ([0]=> Tom [1]=> jerry) echo '
'; Print_r ($redis - > zRevRange ($redisKey, 0, -1)); // Gets the value of the specified index interval, from large to small, for example, to get all the values Array ([0]=> Jerry [1]=> tom) echo '
'; Echo $redis - > zScore ($redisKey,'jerry').'< br />'; // Get a score of 80 for the specified value Echo $redis - > zCount ($redisKey, 70, 79).'< br />'; // Gets the number of specified intervals for a given score 1 Print_r ($redis - > zRangeByScore ($redisKey, 70, 80)); // Get data between specified scores, from small to large Array ([0]=> Tom [1]=> jerry) echo '
'; Print_r ($redis - > zRevRangeByScore ($redisKey, 80, 70)); // Get data between specified scores, from large to small Array ([0]=> Jerry [1]=> tom) echo '
'; Echo $redis - > zRank ($redisKey,'jerry').'< br />'; // Gets the index of the specified value, from small to large 1 Echo $redis - > zRevRank ($redisKey,'jerry').'< br />'; // Gets the index of the specified value, from large to small, 0 $redis->zAdd($redisKey, 56, 'emma'); $redis - > zRem ($redisKey,'tom'); // Remove the specified value print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => emma [1] => jerry ) echo '
'; $redis - > zRemRangeByRank ($redisKey, 1, 2); //Remove members from a specified ranking range print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => emma ) echo '
'; $redis->zAdd($redisKey, 38, 'tom', 98, 'jerry'); $redis - > zRemRangeByScore ($redisKey, 30, 60); // Remove members of the specified score range print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => jerry ) echo '
';
Справочный материал: Курс для начинающих птиц.