Редис МГЕТ

Redis Mget



Объяснение строк Redis

Строки — это самая основная и фундаментальная структура данных, представленная базой данных Redis. Строки Redis представляют собой двоичные безопасные последовательности байтов. Они очень похожи на обычные строки, доступные в таких языках программирования, как Java и c#.net. Самое главное, что строки Redis можно использовать для хранения практически всего, что вам нравится, например строк, целых чисел, сериализованных JSON, XML и двоичных значений. Поскольку строковый тип данных Redis безопасен для двоичных файлов, бинарные объекты, такие как изображения, видео и документы, можно легко хранить с помощью строк. Кроме того, одна строка Redis может содержать до 512 МБ данных.







Кроме того, строковая структура данных Redis обычно используется в следующих случаях:



  • Кэширование
    • Хранилище сеансов
    • API-ответы
    • HTML-страницы
  • Прилавок
  • Реализация растровых изображений и побитовые операции

Наиболее часто используемыми строковыми операциями являются SET, GET, MGET и SETNX. Команды INCRBY и INCRBYFLOAT обычно используются для управления счетчиками, реализованными с использованием строковой структуры данных Redis. В этом руководстве подробно описана команда MGET.



Раскрыта команда MGET

Команда MGET используется для получения значений заданных ключей Redis. Он принимает один или несколько ключей в качестве аргументов. Кроме того, команда MGET работает с временной сложностью O(N), где N — количество указанных ключей. Синтаксис команды MGET следующий:





ключ MGET [ ключ ... ]

После выполнения команды MGET она возвращает массив значений, хранящихся в указанных ключах Redis. Если ключ не существует, он возвращает специальное значение ноль. Точно так же, если ключ не содержит строкового значения, ноль значение возвращается.

Вариант использования: получение всех кэшированных ответов API

Давайте предположим сценарий, в котором строковый тип данных Redis используется для реализации кеша, в котором хранятся последние ответы API. Мы используем команду SET для хранения некоторых фиктивных ответов API в демонстрационных целях.



установлен пустышка / клиенты 'Рики, Бернард, Мэри, Сэмюэл, Джо' установлен пустышка / поставщики 'Джимми, Джереми, Эндрю, Гера' установлен пустышка / счета-фактуры '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Мы храним пару строковых значений и сериализованный объект JSON, используя строковый тип данных Redis.

Теперь воспользуемся командой MGET для одновременного получения всех ответов в каждом вызове API.

получить манекен / клиенты / поставщики / счета-фактуры

Выход:

1 ) 'Рики, Бернард, Мэри, Сэмюэл, Джо'

два ) 'Джимми, Джереми, Эндрю, Гера'

3 ) '{' счета-фактуры ': [{' invoice_id ': 1', ' инвойс_платеж ':1000}, {' invoice_id ': два, ' инвойс_платеж ':3400}]}'

Как и ожидалось, значения в каждом ключе возвращаются в виде массива.

Указание несуществующего ключа

Как уже упоминалось, команда MGET возвращает специальное значение ноль при предоставлении несуществующего ключа. Давайте укажем несуществующий ключ с именем «nonexistingkey» для команды MGET и выполним предыдущий пример следующим образом:

получить манекен / клиенты / поставщики / счета-фактуры несуществующиеkey

Как видите, последнее значение в массиве равно ноль который связан с несуществующим ключом Redis.

В целом, команда MGET является идеальным кандидатом, когда нам нужно получить строковые значения, хранящиеся в нескольких ключах, за один вызов, а не вызывать команду GET несколько раз.

Вывод

Таким образом, команда MGET работает со строковой структурой данных Redis, возвращая значения, хранящиеся в нескольких ключах, за один вызов. Он принимает один или несколько ключей Redis в качестве аргументов. Как подчеркнуто, команда MGET работает с временной сложностью O(N). Пример использования показал, как использовать команду MGET для эффективного получения нескольких ответов API, хранящихся в нескольких ключах.