redis
Redis Set Тип данных
Поиск…
Вступление
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 вернет ошибку.