Основные операции с ключами и значениями в Redis

RedisBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы изучите основные операции с ключами-значениями в Redis. Мы будем использовать интерфейс командной строки redis-cli для взаимодействия с сервером Redis и выполнения основных операций, таких как установка (setting), получение (getting), проверка существования (checking existence), удаление (deleting) и установка времени истечения срока действия (setting expiration times) для ключей. К концу этой лабораторной работы у вас будет четкое понимание того, как использовать Redis в качестве простого хранилища данных (data store).

Установка и извлечение пар ключ-значение

В этом шаге мы сосредоточимся на основных операциях установки и получения пар ключ-значение в Redis. Это основа использования Redis в качестве хранилища данных (data store).

Redis хранит данные в виде пар ключ-значение, аналогично словарю. Ключ (key) — это уникальный идентификатор, а значение (value) — это данные, связанные с этим ключом.

  1. Подключение к Redis:

    Откройте терминал в LabEx VM. Вы должны находиться в каталоге ~/project. Подключитесь к серверу Redis с помощью команды redis-cli:

    redis-cli
    

    Вы должны увидеть приглашение Redis: 127.0.0.1:6379>. Это указывает на успешное подключение к серверу Redis.

  2. Установка пары ключ-значение:

    Давайте установим пару ключ-значение с помощью команды SET. Мы установим ключ mykey в значение myvalue.

    SET mykey myvalue
    

    Redis ответит:

    OK
    

    Это подтверждает, что пара ключ-значение была успешно сохранена.

  3. Получение значения ключа:

    Чтобы получить значение, связанное с ключом, используйте команду GET. Давайте получим значение mykey:

    GET mykey
    

    Redis ответит:

    "myvalue"
    

    Это показывает, что мы успешно получили значение, связанное с ключом mykey.

  4. Установка другой пары ключ-значение:

    Давайте установим другую пару ключ-значение с другим ключом и значением. На этот раз мы будем использовать user:1001 в качестве ключа и John в качестве значения.

    SET user:1001 John
    

    Redis ответит:

    OK
    
  5. Получение значения нового ключа:

    Теперь давайте получим значение ключа user:1001:

    GET user:1001
    

    Redis ответит:

    "John"
    

    Теперь вы успешно установили и получили пары ключ-значение в Redis.

  6. Выход из Redis CLI:

    Важно выходить из Redis CLI после каждого шага, чтобы команды правильно регистрировались. Введите:

    exit
    

    Redis CLI 连接截图

Проверка существования ключа

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

  1. Подключение к Redis:

    Подключитесь к серверу Redis с помощью команды redis-cli:

    redis-cli
    

    Вы должны увидеть приглашение Redis: 127.0.0.1:6379>.

  2. Проверка существования существующего ключа:

    На предыдущем шаге мы установили ключ mykey. Давайте проверим, существует ли он, с помощью команды EXISTS:

    EXISTS mykey
    

    Redis ответит:

    (integer) 1
    

    Ответ 1 указывает на то, что ключ mykey существует в Redis.

  3. Проверка существования несуществующего ключа:

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

    EXISTS nonexistentkey
    

    Redis ответит:

    (integer) 0
    

    Ответ 0 указывает на то, что ключ nonexistentkey не существует в Redis.

  4. Выход из Redis CLI:

    Выйдите из Redis CLI, чтобы убедиться, что команды зарегистрированы:

    exit
    

Удаление ключей

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

  1. Подключение к Redis:

    Подключитесь к серверу Redis с помощью команды redis-cli:

    redis-cli
    

    Вы должны увидеть приглашение Redis: 127.0.0.1:6379>.

  2. Удаление существующего ключа:

    На предыдущих шагах мы установили ключ mykey. Давайте удалим его с помощью команды DEL:

    DEL mykey
    

    Redis ответит:

    (integer) 1
    

    Ответ (integer) 1 указывает на то, что один ключ был успешно удален.

  3. Удаление несуществующего ключа:

    Давайте попробуем удалить ключ, который не существует, например nonexistentkey:

    DEL nonexistentkey
    

    Redis ответит:

    (integer) 0
    

    Ответ (integer) 0 указывает на то, что ни один ключ не был удален (потому что ключ не существовал).

  4. Удаление нескольких ключей:

    Команда DEL также может использоваться для удаления нескольких ключей одновременно. Давайте удалим ключ user:1001, который мы создали ранее, а также попробуем удалить nonexistentkey снова в той же команде:

    DEL user:1001 nonexistentkey
    

    Redis ответит:

    (integer) 1
    

    Ответ (integer) 1 указывает на то, что один ключ был успешно удален (user:1001), а попытка удалить nonexistentkey была проигнорирована, поскольку он не существовал.

  5. Выход из Redis CLI:

    Выйдите из Redis CLI:

    exit
    

Установка времени жизни ключа

В этом шаге мы узнаем, как установить срок действия ключа в Redis, используя команды EXPIRE и SET с параметром EX. Это полезно для автоматического удаления данных после определенного периода, например, данных сеанса или временных кэшей.

  1. Подключение к Redis:

    Подключитесь к серверу Redis с помощью команды redis-cli:

    redis-cli
    

    Вы должны увидеть приглашение Redis: 127.0.0.1:6379>.

  2. Установка пары ключ-значение со сроком действия (Метод 1: SET с параметром EX):

    Redis позволяет установить пару ключ-значение со сроком действия в одной команде, используя параметр EX. Давайте установим ключ sessionkey со значением sessionvalue и сроком действия 15 секунд:

    SET sessionkey sessionvalue EX 15
    

    Redis ответит:

    OK
    

    Эта команда устанавливает пару ключ-значение и срок действия в одной операции, что более эффективно, чем использование отдельных команд.

  3. Проверка TTL установленного ключа с EX:

    Давайте проверим оставшееся время жизни (TTL) для ключа sessionkey:

    TTL sessionkey
    

    Redis ответит числом секунд, оставшихся до истечения срока действия ключа (например, (integer) 14). Значение будет немного меньше 15 из-за времени, прошедшего с момента установки ключа.

  4. Установка пары ключ-значение (Метод 2: Использование команды EXPIRE отдельно):

    В качестве альтернативы, вы можете сначала установить пару ключ-значение, а затем установить срок его действия отдельно. Давайте установим ключ tempkey со значением tempvalue:

    SET tempkey tempvalue
    

    Redis ответит:

    OK
    
  5. Установка срока действия с помощью команды EXPIRE:

    Теперь давайте установим срок действия 10 секунд для ключа tempkey с помощью команды EXPIRE:

    EXPIRE tempkey 10
    

    Redis ответит:

    (integer) 1
    

    Ответ (integer) 1 указывает, что срок действия был успешно установлен.

  6. Проверка оставшегося времени жизни (TTL):

    Чтобы проверить оставшееся время жизни (TTL) для ключа tempkey, используйте команду TTL:

    TTL tempkey
    

    Redis ответит числом секунд, оставшихся до истечения срока действия ключа (например, (integer) 9). Значение может быть немного меньше 10 из-за времени, прошедшего с момента установки срока действия. Если ключ не существует или не имеет срока действия, TTL возвращает -2 или -1 соответственно.

  7. Выход из Redis CLI:

    Выйдите из Redis CLI:

    exit
    

Резюме

В этом лабораторном практикуме вы изучили основные операции с ключами и значениями в Redis с помощью командной строки redis-cli. Вы узнали, как подключиться к серверу Redis и использовать команду SET для хранения данных в виде пар ключ-значение. Вы также практиковались в получении значений с помощью команды GET. Кроме того, вы изучили, как проверять существование ключей с помощью команды EXISTS, удалять ключи с помощью команды DEL и устанавливать время истечения срока действия ключей с помощью команды SET с параметром EX и команды EXPIRE. Команда SET с параметром EX особенно полезна, так как позволяет установить пару ключ-значение с временем истечения срока действия в одной эффективной операции. Это базовые блоки для использования Redis в качестве простого и эффективного хранилища данных.