Рубрики
Uncategorized

Запись об использовании Redis (6)

Автор оригинала: David Wong.

Сортированный набор (Упорядоченный набор)

Отсортированные наборы, как и наборы, представляют собой коллекции строкового типа с уникальными элементами. Разница заключается в Отсортированном наборе. Будет ассоциироваться с двойным Введите оценка (оценка), используемая для сортировки. Членство уникально, но оценка Это можно повторить, если оценка Повторить и использовать сортировку по словарю. Максимальное количество участников составляет 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 '
';

Справочный материал: Курс для начинающих птиц.