Введение
В этой лабораторной работе вы изучите фундаментальные операции «ключ-значение» в Redis. Мы будем использовать интерфейс командной строки redis-cli для взаимодействия с сервером Redis и выполнения базовых операций, таких как установка, получение, проверка существования, удаление и установка времени истечения срока действия ключей. К концу этой работы вы будете хорошо понимать, как использовать Redis в качестве простого хранилища данных.
Установка и извлечение пар «ключ-значение»
На этом этапе мы сосредоточимся на основных операциях установки и извлечения пар «ключ-значение» в Redis. Это фундамент использования Redis в качестве хранилища данных.
Redis хранит данные в виде пар «ключ-значение», подобно словарю. Ключ — это уникальный идентификатор, а значение — данные, связанные с этим ключом.
Подключение к Redis:
Откройте терминал в виртуальной машине LabEx. Вы должны находиться в директории
~/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 в качестве простого и эффективного хранилища данных.


