Введение
В этой лабораторной работе вы изучите основные операции с ключами-значениями в Redis. Мы будем использовать интерфейс командной строки redis-cli для взаимодействия с сервером Redis и выполнения основных операций, таких как установка (setting), получение (getting), проверка существования (checking existence), удаление (deleting) и установка времени истечения срока действия (setting expiration times) для ключей. К концу этой лабораторной работы у вас будет четкое понимание того, как использовать Redis в качестве простого хранилища данных (data store).
Установка и извлечение пар ключ-значение
В этом шаге мы сосредоточимся на основных операциях установки и получения пар ключ-значение в Redis. Это основа использования Redis в качестве хранилища данных (data store).
Redis хранит данные в виде пар ключ-значение, аналогично словарю. Ключ (key) — это уникальный идентификатор, а значение (value) — это данные, связанные с этим ключом.
Подключение к Redis:
Откройте терминал в LabEx VM. Вы должны находиться в каталоге
~/project. Подключитесь к серверу Redis с помощью командыredis-cli:redis-cliВы должны увидеть приглашение Redis:
127.0.0.1:6379>. Это указывает на успешное подключение к серверу Redis.Установка пары ключ-значение:
Давайте установим пару ключ-значение с помощью команды
SET. Мы установим ключmykeyв значениеmyvalue.SET mykey myvalueRedis ответит:
OKЭто подтверждает, что пара ключ-значение была успешно сохранена.
Получение значения ключа:
Чтобы получить значение, связанное с ключом, используйте команду
GET. Давайте получим значениеmykey:GET mykeyRedis ответит:
"myvalue"Это показывает, что мы успешно получили значение, связанное с ключом
mykey.Установка другой пары ключ-значение:
Давайте установим другую пару ключ-значение с другим ключом и значением. На этот раз мы будем использовать
user:1001в качестве ключа иJohnв качестве значения.SET user:1001 JohnRedis ответит:
OKПолучение значения нового ключа:
Теперь давайте получим значение ключа
user:1001:GET user:1001Redis ответит:
"John"Теперь вы успешно установили и получили пары ключ-значение в Redis.
Выход из Redis CLI:
Важно выходить из Redis CLI после каждого шага, чтобы команды правильно регистрировались. Введите:
exit
Проверка существования ключа
В этом шаге мы узнаем, как проверить, существует ли ключ в Redis, с помощью команды EXISTS. Это полезно для определения того, был ли установлен ключ, прежде чем пытаться получить его значение или выполнить другие операции.
Подключение к Redis:
Подключитесь к серверу Redis с помощью команды
redis-cli:redis-cliВы должны увидеть приглашение Redis:
127.0.0.1:6379>.Проверка существования существующего ключа:
На предыдущем шаге мы установили ключ
mykey. Давайте проверим, существует ли он, с помощью командыEXISTS:EXISTS mykeyRedis ответит:
(integer) 1Ответ
1указывает на то, что ключmykeyсуществует в Redis.Проверка существования несуществующего ключа:
Теперь давайте проверим, существует ли ключ, который мы не устанавливали. Например, давайте проверим ключ с именем
nonexistentkey:EXISTS nonexistentkeyRedis ответит:
(integer) 0Ответ
0указывает на то, что ключnonexistentkeyне существует в Redis.Выход из Redis CLI:
Выйдите из Redis CLI, чтобы убедиться, что команды зарегистрированы:
exit
Удаление ключей
В этом шаге мы узнаем, как удалять ключи из Redis с помощью команды DEL. Это необходимо для управления данными и удаления устаревших или нежелательных записей.
Подключение к Redis:
Подключитесь к серверу Redis с помощью команды
redis-cli:redis-cliВы должны увидеть приглашение Redis:
127.0.0.1:6379>.Удаление существующего ключа:
На предыдущих шагах мы установили ключ
mykey. Давайте удалим его с помощью командыDEL:DEL mykeyRedis ответит:
(integer) 1Ответ
(integer) 1указывает на то, что один ключ был успешно удален.Удаление несуществующего ключа:
Давайте попробуем удалить ключ, который не существует, например
nonexistentkey:DEL nonexistentkeyRedis ответит:
(integer) 0Ответ
(integer) 0указывает на то, что ни один ключ не был удален (потому что ключ не существовал).Удаление нескольких ключей:
Команда
DELтакже может использоваться для удаления нескольких ключей одновременно. Давайте удалим ключuser:1001, который мы создали ранее, а также попробуем удалитьnonexistentkeyснова в той же команде:DEL user:1001 nonexistentkeyRedis ответит:
(integer) 1Ответ
(integer) 1указывает на то, что один ключ был успешно удален (user:1001), а попытка удалитьnonexistentkeyбыла проигнорирована, поскольку он не существовал.Выход из Redis CLI:
Выйдите из Redis CLI:
exit
Установка времени жизни ключа
В этом шаге мы узнаем, как установить срок действия ключа в Redis, используя команды EXPIRE и SET с параметром EX. Это полезно для автоматического удаления данных после определенного периода, например, данных сеанса или временных кэшей.
Подключение к Redis:
Подключитесь к серверу Redis с помощью команды
redis-cli:redis-cliВы должны увидеть приглашение Redis:
127.0.0.1:6379>.Установка пары ключ-значение со сроком действия (Метод 1: SET с параметром EX):
Redis позволяет установить пару ключ-значение со сроком действия в одной команде, используя параметр
EX. Давайте установим ключsessionkeyсо значениемsessionvalueи сроком действия 15 секунд:SET sessionkey sessionvalue EX 15Redis ответит:
OKЭта команда устанавливает пару ключ-значение и срок действия в одной операции, что более эффективно, чем использование отдельных команд.
Проверка TTL установленного ключа с EX:
Давайте проверим оставшееся время жизни (TTL) для ключа
sessionkey:TTL sessionkeyRedis ответит числом секунд, оставшихся до истечения срока действия ключа (например,
(integer) 14). Значение будет немного меньше 15 из-за времени, прошедшего с момента установки ключа.Установка пары ключ-значение (Метод 2: Использование команды EXPIRE отдельно):
В качестве альтернативы, вы можете сначала установить пару ключ-значение, а затем установить срок его действия отдельно. Давайте установим ключ
tempkeyсо значениемtempvalue:SET tempkey tempvalueRedis ответит:
OKУстановка срока действия с помощью команды EXPIRE:
Теперь давайте установим срок действия 10 секунд для ключа
tempkeyс помощью командыEXPIRE:EXPIRE tempkey 10Redis ответит:
(integer) 1Ответ
(integer) 1указывает, что срок действия был успешно установлен.Проверка оставшегося времени жизни (TTL):
Чтобы проверить оставшееся время жизни (TTL) для ключа
tempkey, используйте командуTTL:TTL tempkeyRedis ответит числом секунд, оставшихся до истечения срока действия ключа (например,
(integer) 9). Значение может быть немного меньше 10 из-за времени, прошедшего с момента установки срока действия. Если ключ не существует или не имеет срока действия,TTLвозвращает-2или-1соответственно.Выход из Redis CLI:
Выйдите из Redis CLI:
exit
Резюме
В этом лабораторном практикуме вы изучили основные операции с ключами и значениями в Redis с помощью командной строки redis-cli. Вы узнали, как подключиться к серверу Redis и использовать команду SET для хранения данных в виде пар ключ-значение. Вы также практиковались в получении значений с помощью команды GET. Кроме того, вы изучили, как проверять существование ключей с помощью команды EXISTS, удалять ключи с помощью команды DEL и устанавливать время истечения срока действия ключей с помощью команды SET с параметром EX и команды EXPIRE. Команда SET с параметром EX особенно полезна, так как позволяет установить пару ключ-значение с временем истечения срока действия в одной эффективной операции. Это базовые блоки для использования Redis в качестве простого и эффективного хранилища данных.


