Галерея диаграмм связей Редис
Это интеллектуальная карта Redis с подробным введением и исчерпывающим описанием. Надеюсь, она будет полезна заинтересованным друзьям!
Отредактировано в 2023-12-21 17:36:42Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Редис
дела
определение
Транзакция представляет собой отдельную операцию изоляции. Все операции в транзакции будут сериализованы и выполнены по порядку. Выполнение транзакции не будет прерываться командами, отправленными другими терминалами обслуживания клиентов.
эффект
Объедините несколько команд, чтобы предотвратить попадание других команд в очередь.
Заказ
СМОТРЕТЬ ключ [ключ...]
Перед выполнением multi сначала выполните watch key1 [key2], который может отслеживать один (или несколько) ключей. Если этот (или эти) ключи будут изменены другими командами до выполнения транзакции, транзакция будет прервана.
Мульти
Введенные команды попадут в очередь команд, но не будут выполнены. Они будут ждать выполнения команды Exec, а затем выполнять их последовательно.
Исполнительный директор
Очередь выполнения команд
отказаться
Удаление очереди команд
Обработка ошибок транзакции
Формирование команды прошло успешно, исполнение успешно. Все команды будут выполнены упорядоченно.
Если команда успешно сформирована, выберите сброс и все команды выполняться не будут.
Если в команде в очереди произойдет ошибка, вся очередь будет отменена во время выполнения.
Команда сформирована успешно, но при выполнении определенной команды происходит сбой. За исключением неправильной команды, все остальные команды будут выполнены.
Транзакции Redis не являются атомарными
Три основные характеристики транзакций Redis
отдельные карантинные операции
Все команды в транзакции сериализуются и выполняются последовательно. Во время выполнения транзакции она не будет прерываться командными запросами, отправленными другими клиентами.
Нет понятия уровня изоляции.
Команды в очереди не будут фактически выполняться до тех пор, пока они не будут отправлены, поскольку никакие инструкции не будут фактически выполнены до отправки транзакции.
Нет гарантии атомарности
Если команда в транзакции не может быть выполнена, последующие команды все равно будут выполняться без отката.
Разница между транзакциями Redis и транзакциями Mysql (около ACID)
Упорство
РДБ
Базовая конфигурация
имя файла конфигурации dbfilename
сохранять
Сколько операций было выполнено за сколько секунд?
Триггерная база данных
Автоматически запускать сохранение
Блокирует основной процесс до завершения сохранения RDB.
Сохранение вручную: bgsave
Redis будет выполнять операции со снимками асинхронно в фоновом режиме, и снимок также может отвечать на запросы клиентов.
Вы можете получить время выполнения последнего снимка с помощью LastSave.
Не блокирует основной процесс
Выполнить команду flashall
Выполнение командыlushall также создаст файл dump.rdb, но он пустой и бессмысленный.
Командаlushdb не создает файл dump.rdb
Выйдите из Redis в обычном режиме
Дополнительные настройки в redis.conf
ошибка остановки записи при bgsave
Если Redis не может выполнить запись на диск, напрямую отключите операцию записи Redis. Рекомендую да
сжатые файлы с помощью rdbcompression
Если вы не хотите использовать процессор для сжатия, вы можете отключить эту функцию. Рекомендую, да.
rdbchecksum проверяет целостность
После сохранения снимка вы также можете попросить Redis использовать алгоритм CRC64 для проверки данных.
Процесс сохранения (снимок памяти)
Redis создаст (разветвит) дочерний процесс отдельно для сохранения. Сначала он запишет данные во временный файл. После завершения процесса сохранения этот временный файл будет использоваться для замены последнего сохраненного файла. В течение всего процесса основной процесс не выполняет никаких операций ввода-вывода, что обеспечивает чрезвычайно высокую производительность. Если требуется крупномасштабное восстановление данных и целостность восстановления данных не очень чувствительна, метод RDB более эффективен, чем метод AOF. . высокой эффективности. Недостатком RDB является то, что данные после последнего сохранения могут быть потеряны.
Функция Fork — скопировать процесс, аналогичный текущему. Все данные (переменные, переменные среды, счетчик программ и т. д.) нового процесса имеют те же значения, что и исходный процесс, но это совершенно новый процесс и служит дочерним процессом исходного процесса.
Преимущество
Подходит для крупномасштабного восстановления данных.
Больше подходит для требований к целостности и согласованности данных, которые не высоки.
Экономьте место на диске
Быстрое восстановление
Недостатки
Все изменения из последнего снимка могут быть потеряны.
АОФ
представлять
Записывайте каждую операцию записи в виде журнала. Файлы можно только добавлять, но нельзя перезаписывать.
Не включено по умолчанию
добавить только нет
Если AOF и RDB включены одновременно, AOF будет иметь приоритет.
процесс сохранения
Запрошенная клиентом команда записи будет добавлена в буфер AOF.
Буфер AOF синхронизирует операции с файлом AOF на диске в соответствии с политикой сохранения AOF.
Если файл AOF превышает политику перезаписи или перезаписывается вручную, файл AOF будет перезаписан для сжатия емкости файла AOF.
Когда сервер Redis перезапустится, он загрузит операции записи в файл AOF.
Настройка частоты синхронизации
appendfsync всегда
Всегда синхронизировано, каждая запись Redis немедленно записывается в журнал. Производительность низкая, но целостность данных лучше;
добавлениеfsync каждую секунду
Синхронизируйте каждую секунду, сначала записывайте лог в буфер памяти файла AOF, а затем каждую секунду записывайте содержимое буфера на диск. При простое данные этой секунды могут быть потеряны.
appendfsync нет
Redis не выполняет активную синхронизацию и оставляет время синхронизации на усмотрение операционной системы.
Преимущество
Механизм резервного копирования более надежен, и данные не так легко потерять.
Читаемые файлы журналов для обработки ошибок
Недостатки
Занимает больше места на диске, чем RDB.
Медленное восстановление
Если чтение и запись будут синхронизироваться каждый раз, производительность будет под давлением.
Есть некоторые ошибки, которые делают восстановление невозможным.
Стратегия удаления ключа Redis с истекшим сроком действия
Redis использует комбинацию стратегий обычного и отложенного удаления.
Периодическое удаление. Время от времени ключи со сроком действия выбираются случайным образом, проверяются на предмет истечения срока их действия и удаляются после истечения срока действия.
Повторяйте 10 раз каждую 1 секунду, случайным образом выберите 20 ключей, чтобы проверить, истек ли срок их действия. Если срок действия 25% ключей истек, повторите это действие.
Многие ключи с истекшим сроком действия будут пропущены.
Отложенное удаление: по истечении срока действия данных они не будут обрабатываться в первую очередь. При доступе к ключу с истекшим сроком действия они будут удалены.
Обмен пространства на время
Если много ключей с истекшим сроком действия пропущено и не проверено, ленивое удаление не будет выполнено в памяти, что приведет к исчерпанию памяти Redis. В это время будет использоваться механизм удаления памяти.
репликация главный-подчиненный
что
После обновления данных хоста данные автоматически синхронизируются с механизмом «главный/подчиненный» в соответствии с политикой. Главный отвечает за запись, а подчиненный — за чтение.
Что ты можешь сделать
Разделение чтения и записи, расширение производительности
Аварийное восстановление и быстрое восстановление для повышения доступности
Как играть
Запустить несколько служб Redis
Настроить подчиненную библиотеку
Выполнить подчиненный IP-порт
Запрос информации о главном и подчиненном устройствах
репликация информации
Распространенные ситуации
Один хозяин и два слуги
Может ли подчиненная машина писать? Можно ли установить?
Его нельзя ни записать, ни установить.
Что происходит после выключения хоста? Ведомое устройство находится в верхнем положении или в режиме ожидания?
Ведомая машина находится в режиме ожидания
После того, как хост вернется и добавит новые записи, может ли подчиненное устройство по-прежнему плавно копировать их?
Может
Что произойдет после того, как одна из подчиненных машин выйдет из строя? Сможет ли он идти в ногу с такой большой армией?
Может
Передача факела
Могут ли машины с двойной идентификацией главного и подчиненного устройства записывать данные? ?
Нет, пока у вас есть личность подчиненного устройства, вы не можете записывать данные.
В основном антиклиентское
Если главная машина не работает, вы можете вручную превратить подчиненную машину в главную.
Принцип копирования
После того, как ведомое устройство запустится и успешно подключится к ведущему, оно отправит команду синхронизации.
Главный получает команду на запуск процесса фонового сохранения и собирает все полученные команды для изменения набора данных. После завершения фонового процесса ведущий передает весь файл данных RDB на ведомое устройство для завершения полной синхронизации.
Полная копия: после получения данных файла базы данных подчиненная служба сохраняет их и загружает в память.
Инкрементная репликация: ведущий продолжает передавать все новые собранные команды модификации ведомому для завершения синхронизации.
Но пока мастер переподключен, автоматически будет выполняться полная синхронизация (полная репликация)
Режим охраны
Sentinel — это процесс Redi, работающий в функциональном режиме и выполняющий три основные задачи:
монитор
Отправьте команды PING всем главным и подчиненным библиотекам, чтобы проверить, активны ли они. Если они не ответят в течение указанного времени, они будут считаться отключенными.
Субъективный офлайн
Если дозорный обнаружит, что время ответа главной или подчиненной библиотеки на команду PING истекло, то текущий дозорный сначала отметит это. Для «субъективного оффлайна»
Цель офлайн
Если N/2 1 датчики помечают основную базу данных как субъективно отключенную, то основная база данных будет помечена как «объективно отключенная».
Только когда основная база данных будет помечена как объективно отключенная от сети, Sentinel выберет новую основную базу данных.
Если имеется только один дозорный датчик, а также по сетевым причинам или из-за чрезмерной нагрузки на основную базу данных, основная база данных не отвечает вовремя и помечается дозорным как субъективный автономный. В настоящее время существует только один дозорный. , и новая основная база данных будет выбрана напрямую. Если существует дозорный элемент, новая основная база данных будет выбрана напрямую. В кластере более N/2 1 дозорных должны пометить основную базу данных как субъективную автономную, а затем основную базу данных. будут помечены как объективно оффлайн, а затем дозорные выберут новую основную базу данных, чтобы уменьшить количество ошибочных оценок.
Выберите мастера
В случае сбоя главной библиотеки на подчиненном компьютере будет выбрана новая главная библиотека.
Процесс выбора новой главной базы данных
фильтр
По текущему онлайн-статусу библиотеки также необходимо определить ее предыдущий статус сетевого подключения.
Счет
Приоритет подчиненной библиотеки
Копировать прогресс из библиотеки
Идентификатор подчиненной библиотеки
поставить в известность
Отправьте информацию о новой главной библиотеке другим подчиненным библиотекам, позвольте другим подчиненным библиотекам установить соединения с новой главной библиотекой и выполните репликацию данных.
что
Автоматическая версия, ориентированная на защиту клиентов, может отслеживать, неисправен ли хост в фоновом режиме. В случае сбоя он автоматически переключается с подчиненной базы данных на основную базу данных в зависимости от количества голосов.
Как играть
Создайте новый файл Sentinel.conf. Имя не должно быть неправильным.
Настройте Sentinel и заполните содержимое
дозорный монитор mymaster 127.0.0.1 6379 1
Среди них mymaster — это имя сервера объекта мониторинга, а 1 — минимальное количество дозорных, которые согласны на миграцию.
Запустить Сентинел
/usr/локальный/бен
Выполните redis-sentinel /myredis/sentinel.conf.
Когда мастер повесит трубку, из подчиненных будет выбран новый мастер.
правила выборов
приоритет
По умолчанию в redis.conf: приоритет реплики 100, чем меньше значение, тем выше приоритет.
Компенсировать
Смещение относится к наиболее полным данным, полученным от исходного хоста.
рунид
После запуска каждого экземпляра Redis случайным образом генерируется 40-значный runid (получить и просмотреть через информационный сервер).
кластер
Что такое кластер
Горизонтальное расширение Redis
Если некоторые узлы в кластере выходят из строя или не могут обмениваться данными, кластер может продолжать обрабатывать запросы команд.
Если главная машина не работает, подчиненная машина будет автоматически повышена до уровня Мастера.
Конфигурация
изменение конфигурации кластера Redis
с поддержкой кластера да включает режим кластера
Cluster-config-file nodes-6379.conf задает имя файла конфигурации узла.
Cluster-node-timeout 15000 устанавливает время отключения узла. По истечении этого времени (миллисекунды) кластер автоматически переключается между ведущим и подчиненным.
запускать
redis-cli --cluster create --cluster-replicas 1 192.168.11.101:6379 192.168.11.101:6380 192.168.11.101:6381 192.168.11.101:6389 192.168.11.101:6390 192 .168.11.101:6391
Не используйте 127.0.0.1, используйте реальный IP-адрес.
Что такое слоты
Кластер Redis содержит 16384 хэш-слота, и каждый ключ в базе данных принадлежит одному из этих 16384 слотов.
Для значений ключей, которые не находятся в одном слоте, нельзя использовать многоключевые операции, такие как mget и mset.
Недостатки кластеризации
Многоклавишное управление не поддерживается.
Транзакции Redis с несколькими ключами не поддерживаются. Lua-скрипт не поддерживается
Более сложный
Почему кластеру требуется как минимум три узла
Если узел не работает, и более половины узлов считают, что он не работает в результате механизма пинг-понга, то кластер будет неактивен. Если есть только два узла и один узел не работает, другой узел будет голосовать. Всего 50%, но у половины из них этот кластер не выйдет из строя, поэтому нужно минимум три узла
Почему для кластера требуется как минимум шесть серверов
Поскольку для кластера требуется как минимум три узла, а для каждого узла требуется машина резервного копирования, для кластера требуется как минимум шесть серверов.
Разработка JAVA-соединения Jedis
Зависимость: <artifactId>jedis</artifactId>
Пул соединений JedisPool
setBlockWhenExhausted
/Блокировать ли при исчерпании соединения, false сообщит об исключении, true будет блокироваться до истечения времени, по умолчанию — true
setTestOnBorrow
Проверьте, не деактивируется ли соединение при его взятии из пула соединений.
Автоматическое подключение объектов JedisPool
Пять основных типов данных
приложение
Основное использование
инструкция по установке
redis-benchmark: инструмент тестирования производительности, который можно запустить в вашем ноутбуке, чтобы увидеть, как он работает.
redis-check-aof: восстановление проблемных файлов AOF, rdb и aof будут обсуждаться позже.
redis-check-dump: исправить проблемный файл dump.rdb
redis-sentinel: используется кластером Redis
redis-server: команда запуска сервера Redis
redis-cli: клиент, вход в операцию
Конфигурационный файл redis.conf
Начать в фоновом режиме
демонизировать «нет» на «да»
Запустите сервер redis-server /myredis/redis.conf.
Используйте клиент для доступа к redis-cli
-p указывает порт
-c режим кластера
Конфигурация, связанная с сетью
связывать
Отсутствие записи означает неограниченный доступ ко всем IP-адресам.
защищенный режимзащищенный режим
Включено по умолчанию. Даже если доступ со всех IP-адресов разрешен, доступ не может быть успешным.
Порт Номер порта
По умолчанию 6379
очередь соединений tcp-backlog
тайм-аут тайм-аут время
Сколько времени потребуется на закрытие неактивного клиента? 0 отключает эту функцию, то есть соединение никогда не будет разорвано.
tcp-keepalive обнаружение пульса клиентов
Если установлено значение 0, обнаружение активности не будет выполняться.
Общая конфигурация
демонизировать поток демона
По умолчанию значением «нет» является значение «да», которое является демоническим процессом и может быть запущено в фоновом режиме.
pidfile Место, где хранится файл pid.
уровень журнала уровень журнала
отладка: распечатает и сгенерирует большой объем информации, подходящей для этапа разработки/тестирования.
подробный: содержит много менее полезной информации, но не так запутан, как уровень отладки.
Примечание: Умеренно многословный, подходит для производственных сред.
предупреждение: записывайте только очень важные и критические предупреждающие сообщения.
имя файла журнала
По умолчанию используется стандартный вывод файла журнала.
базы данных задает количество баз данных
Количество баз данных по умолчанию — 16, а выбранная база данных по умолчанию — 0.
предел
maxclients максимальное количество подключений к серверу
По умолчанию установлено подключение 1 Вт. При достижении верхнего предела в соединении будет отказано.
максимальная память
Рекомендуется настроить его, иначе память будет переполнена и приведет к сбою сервера.
maxmemory-policy политика удаления памяти
Летучий-lru: использовать алгоритм LRU для удаления ключей, только ключи с установленным сроком действия (последние использовались);
Летучие-ttl: удалите те ключи с наименьшим значением TTL, то есть те ключи, срок действия которых истекает недавно.
Летучий-случайный: удалить случайные ключи из набора с истекшим сроком действия, только ключи с установленным сроком действия.
allkeys-lru: использовать алгоритм LRU для удаления ключей из всех установленных ключей.
allkeys-random: удалить случайные ключи из всех установленных ключей.
выселение: без удаления. Для операций записи возвращается только информация об ошибке.
лимит ввода-вывода
io-threads-do-reads Включить ли многопоточность ввода-вывода
По умолчанию — нет. Если включено, измените его на да.
io-threads Количество потоков ввода-вывода
Рекомендуется установить 2 или 3 потока для 4-ядерной машины и 6 потоков для 8-ядерной машины. Количество потоков должно быть меньше количества ядер машины и стараться не превышать 8.
Редис закрыт
Отключение одного экземпляра
выключение Redis-Cli
Завершение работы нескольких экземпляров
redis-cli -p 6379 выключение
Однопоточное мультиплексирование нескольких операций ввода-вывода
Redis6.0 представляет многопоточность
База данных NoSQL
Что такое база данных NoSQL
Не соответствует стандартам SQL
Не поддерживает ACID
атомарность
последовательность
Изоляция
упорство
Значительно превосходит производительность SQL
Применимая сцена
Высококонкурентное чтение и запись данных
Чтение и запись больших объемов данных
Высокая масштабируемость для данных
Не используемый сценарий
Нужна поддержка сделки
Требуется структурированное хранилище запросов, обработка сложных взаимосвязей и нерегламентированные запросы.
Специальный запрос: пользователи могут гибко выбирать условия запроса в соответствии со своими потребностями, и система генерирует соответствующие статистические отчеты на основе выбора пользователя.
Redis пять основных типов данных
Тип строки
увеличивать
set <key><value>Добавить пару ключ-значение
setex <ключ><время истечения><значение> При установке значения ключа установите время истечения срока действия в секундах.
setnx <key><value>Установить значение ключа, только если ключ не существует
mset <key1><value1><key2><value2>Установить одну или несколько пар ключ-значение одновременно
проверять
get <key> Запросить соответствующее значение ключа
strlen <ключ> получает длину значения
mget <key1><key2><key3> Получить одно или несколько значений одновременно
getrange <ключ><начальная позиция><конечная позиция> Получить диапазон значений, аналогичный подстроке в Java, переднем пакете, заднем пакете
изменять
incr <ключ>
Увеличьте числовое значение, хранящееся в ключе, на 1.
Может работать только с числовыми значениями. Если оно пусто, новое значение равно 1.
декр <ключ>
Уменьшите числовое значение, хранящееся в ключе, на 1.
Может работать только с числовыми значениями. Если оно пусто, новое значение равно -1.
incrby / decrby <key><step>увеличивает или уменьшает числовое значение, хранящееся в ключе. Пользовательский размер шага.
удалить
дель ключ
особенный
добавление <ключ><значение> добавляет заданное <значение> в конец исходного значения
getset <ключ><значение>
Замените старое новым, установите новое значение и одновременно получите старое значение.
Номер продукта и номер заказа генерируются с использованием возрастающих числовых характеристик строки.
Тип списка
увеличивать
lpush/rpush <key><value1><value2><value3> .... Вставьте одно или несколько значений слева/справа.
проверять
lrange <key><start><stop>
Получить элементы в соответствии с индексом (слева направо)
lindex <key><index>Получить элементы в соответствии с индексом (слева направо)
llen <ключ> получает длину списка
изменять
lset<key><index><value>заменяет значение, индекс которого является индексом в ключе списка, на значение
удалить
lrem <key><n><value>Удалить n элементов, равных значению слева (слева направо)
особенный
lpop/rpop <key>Выводит значение слева/справа. Значение находится в ключе, и значение находится в ключе.
rpoppush <key1> <key2> выдает значение из правой части списка <key1> и вставляет его в левую часть списка <key2>.
linsert <key> перед <value><newvalue>Вставьте <newvalue> после <value>, чтобы вставить значение
Например, список друзей, список поклонников, очередь сообщений, рейтинг последних новостей и т. д. Метод rpush эквивалентен помещению сообщения в очередь, а метод lpop/rpop эквивалентен извлечению сообщения из очереди для использования.
Тип хеша
увеличивать
hset <key><field><value> присваивает <value> ключу <field> в коллекции <key>
hmset <key1><field1><value1><field2><value2>... Установить хеш-значения пакетно
проверять
hget <key1><field> извлекает значение из коллекции <key1> <field>
hmget <key1><field1> <field2>... Получить хеш-значения пакетами
hlen <key> получает количество значений полей в хеше
hexists<key1><field>Проверить, существует ли данное поле поля в ключе хеш-таблицы.
изменять
hincrby <key><field><increment> добавляет приращение к значению поля поля в ключе хэш-таблицы (отрицательное значение означает вычитание)
hsetnx <key><field><value> устанавливает значение поля поля в ключе хэш-таблицы в значение тогда и только тогда, когда поле поля не существует.
удалить
hdel <key><field> удаляет указанное <field> в коллекции <key>
особенный
hgetall <key> получает все поля и значения в
hkeys <ключ> перечисляет все поля хэш-набора
hvals <ключ> перечисляет все значения хеш-набора
Используйте объект для хранения информации о пользователе, информации о продукте, информации о заказе и т. д.
ZУстановить тип
увеличивать
zadd <key><score1><участник 1><score2><участник 2>…
Добавьте один или несколько элементов-членов и их значения оценок в ключ упорядоченного набора.
проверять
zcard<key> возвращает количество элементов в упорядоченном наборе
zcount <key><min><max> подсчитывает набор, количество элементов в интервале оценки
zrange <key><start><stop> [WITHSCORES] Сортировать от меньшего к большему
Возвращает элементы в ключе упорядоченного набора, индексы которых находятся между <start><stop>
С помощью WithSCORES оценки и значения могут быть возвращены в набор результатов.
zrevrange <key><start><stop> [WITHSCORES] Сортировать от большего к меньшему
Ключ zrangebyscore min max [withscores] [количество предельных смещений]
Возвращает всех членов ключа отсортированного набора, значение оценки которых находится между минимальным и максимальным (в том числе равным минимальному или максимальному). Члены упорядоченного набора располагаются в порядке возрастания значения балла (от меньшего к большему).
zrevrangebyscore key max min [withscores] [предельное количество смещений] (обратите внимание, что параметром является размер)
То же, что и выше, но расположено от большего к меньшему.
zrank <key><member> возвращает ранг члена в ключе упорядоченного набора. Члены упорядоченного набора располагаются в порядке возрастания значения балла (от меньшего к большему). Рейтинг основан на 0, то есть участник с наименьшим значением балла получает 0 рейтинга.
zrevrank <key><member> Получите рейтинг участников в порядке убывания значения оценки (от большего к меньшему).
изменять
цинкрби <key><increment><member> добавляет приращение к баллу элемента
удалить
zrem <key><member>Удалить элемент с указанным значением в коллекции
особенный
Ранжирование. Например, видео-сайту необходимо ранжировать видео, загруженные пользователями.
Тип установки
увеличивать
sadd <ключ><значение1><значение2> .....
Добавьте один или несколько элементов-членов в ключ коллекции. Существующие элементы-члены будут игнорироваться.
проверять
smembers <key> извлекает все значения коллекции
scard<key> возвращает количество элементов в коллекции.
ismember<ключ> <значение> Запросить, существует ли уже значение в коллекции.
изменять
удалить
srem <key><value1><value2> .... Удалить элемент в коллекции
особенный
spop <key> выдает случайное значение из коллекции
smove <source><destination>value перемещает значение в коллекции из одной коллекции в другую.
Sinter <key1><key2> возвращает элемент пересечения двух наборов.
sunion <key1><key2> возвращает элементы объединения двух наборов.
sdiff <key1><key2> возвращает разностные элементы двух наборов (те, что в ключе1, исключая элементы в ключе2)
протокол голосования Общие друзья, общие интересы, теги классификации