Поиск…


Вступление

Redis поддерживает набор типов данных, аналогичных математическим наборам для моделирования данных в базе данных. Наборы представляют собой составной тип данных, состоящий из группы уникальных неупорядоченных членов. Устанавливает поддержку добавления и удаления членов, операций с размерами, а также комбинированных операций, которые принимают два набора и генерируют третий набор. Наборы в Redis аналогичны наборам на большинстве языков программирования.

Синтаксис

  • SADD ключевой элемент [член ...]
  • Ключевой элемент SISMEMBER
  • Клавиша SCARD
  • SADD ключевой элемент [член ...]

замечания

Полную документацию по набору данных типа Redis можно найти в Redis.io .

Размер набора

Размер набора может быть определен с помощью команды SCARD. SCARD вернет мощность набора или количество элементов в наборе. Например, если у меня есть Redis, установите my_set, который хранится в базе данных, похожей на (Apple, Orange, Banana), я мог бы получить размер, используя следующий код:

SCARD my_set

В случае моего набора примеров это вернет 3. Если пользователь выполнит команду SCARD для ключа, которого не существует, Redis вернет 0.

Добавление элементов в набор

Основная команда Redis для добавления элемента в набор - SADD. Он принимает ключ и один или несколько членов и добавляет их в набор, хранящийся на данном ключе.

Например, скажем, что я хотел создать набор с элементами apple, pear и banana. Я мог бы выполнить одно из следующих действий:

SADD fruit apple
SADD fruit pear
SADD fruit banana

или же

SADD fruit apple pear banana

После выполнения либо у меня будет набор фруктов с тремя предметами.

Попытка добавить элемент, который уже находится в наборе, не будет иметь никакого эффекта. После того, как я установил свой набор фруктов, используя код выше, если я снова попытаюсь добавить яблоко:

SADD fruit apple

Redis попытается добавить яблоко в набор фруктов, но поскольку он уже установлен, ничего не изменится.

Результатом команды SADD всегда является количество элементов, добавленных Redis в набор. Поэтому попытка повторного добавления яблока вернет результат 0.

Элементы-члены в Redis чувствительны к регистру, поэтому Apple и Apple рассматриваются как два отдельных элемента.

Тестирование членства

Redis поставляет команду SISMEMBER, чтобы проверить, является ли определенный элемент уже членом набора. Используя команду SISMEMBER, я могу проверить и посмотреть, является ли яблоко уже членом моего набора фруктов.

Если я создам свой набор фруктов из предыдущего примера, я могу проверить и посмотреть, содержит ли он яблоко, используя следующий тест:

SISMEMBER fruit apple

SISMEMBER вернет 1, поскольку элемент уже существует.

Если я попытаюсь увидеть, является ли собака членом моего набора фруктов:

SISMEMBER fruit dog

Redis вернет 0, поскольку собака не находится в наборе фруктов.

Если пользователь пытается использовать команду SISMEMBER с ключом, который не существует, Redis вернет 0, указывающий на отсутствие членства, но если вы используете SISMEMBER с ключом, который уже содержит не заданный тип данных, Redis вернет ошибку.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow