Введение

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

Для этого блога потребуется доступ к экземпляру Redis. Руководства по настройке локального экземпляра Redis для Windows можно найти здесь, а для машин на базе UNIX, таких как Mac или другие дистрибутивы Linux, — здесь. В качестве альтернативы вы можете использовать удаленный экземпляр, но имейте в виду, что некоторые команды в этом блоге могут удалить или изменить данные.

Redis Insight

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

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

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

Отсюда операции CRUD относительно просты. Создать пару ключ-значение можно с помощью кнопки ДОБАВИТЬ КЛЮЧ. Будет предложено указать тип добавляемой пары ключ-значение (Hash, String, JSON и т. д.) и данные, которые будут храниться с ключом.

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

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

Интерфейс командной строки Redis

Интерфейс командной строки Redis — это более распространенный подход разработчиков к взаимодействию с данными из хранилища Redis. Если вы выполнили шаги, описанные в начале блога, CLI уже должен быть установлен. Чтобы проверить связь с сервером, введите в терминале следующую команду:

chris@LR-ENG-17:~$ redis-cli -h localhost -p 6379 ping
PONG

А для подключения выполните предыдущую команду без пинга:

chris@LR-ENG-17:~$ redis-cli -h localhost -p 6379
localhost:6379>

Основная команда для получения пары ключ-значение — вызвать get с ключом:

localhost:6379> get key:1
"value1"

Установить значение можно с помощью команды set:

localhost:6379> set key:1 value1new
OK
localhost:6379> get key:1
"value1new"

Таким же образом можно создать значение:

localhost:6379> get key:3
(nil)
localhost:6379> set key:3 value3new
OK
localhost:6379> get key:3
"value3new"

А удаление можно сделать командой del:

localhost:6379> del key:3
(integer) 1
localhost:6379> get key:3
(nil)
localhost:6379>

Это только простые основы Redis CLI. Вы можете выполнять более сложные операции через интерфейс командной строки, например команду flushall, которая стирает вашу базу данных. Это мощный инструмент, поэтому будьте осторожны, экспериментируя с ним. Обширный список команд можно найти здесь.

С выбранным вами языком программирования

Благодаря широкому использованию Redis почти все основные отраслевые языки программирования имеют поддерживаемые сообществом или официальными версиями библиотек, которые можно использовать для взаимодействия с вашей базой данных. В этом разделе я буду использовать Node.JS и одну из вспомогательных библиотек Redis под названием node-redis.

Инициализацию пакета в коде можно выполнить, вызвав следующую команду после инициализации Node в вашем каталоге:

npm install redis

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

const redis = require("redis")
const redisOption = {
  host: "127.0.0.1",
  port: "6379",
}
const client = redis.createClient()

Чтобы ознакомиться с обширным списком поддерживаемых библиотекой вариантов подключения, перейдите по этой ссылке.

После подключения вызов метода on на клиенте позволит открыть соединение и выполнить команды.

Команды, используемые библиотекой, представляют собой сопоставление 1 к 1 команд, используемых интерфейсом командной строки Redis, поэтому они следуют тем же вызовам методов. Самый простой способ обновить или создать запись в Redis — использовать команду set:

client.set("key:3", "value3new")

Получить значение можно с помощью метода get:

client.get("key:3")

Удалить значение можно с помощью метода del:

client.del("key:3")

Методы, используемые клиентом, также поддерживают обратные вызовы. Например, если операции должны регистрироваться в консоли, мы можем включить обратный вызов redis.print после каждого метода:

client.set("key:3", "value3new", redis.print)
client.get("key:3", redis.print)
client.del("key:3", redis.print)

Вывод этого в консоли будет:

Reply: OK
Reply: value3new
Reply: 1

Вывод

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

Первоначально опубликовано на https://www.loginradius.com.