Перейти к содержимому

Операции со сроком жизни ключа

В Managed Valkey все управление сроком жизни ключа выполняется командами Valkey. С полным списком команд Valkey вы можете ознакомиться в официальной документации Valkey.

Обратите внимание, что в Managed Valkey некоторые команды Valkey недоступны.

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

  • TTL — для ответа в секундах;
  • PTTL — для ответа в миллисекундах.
  1. Подключитесь к кластеру.

  2. Переключитесь на нужную базу данных.

  3. Узнайте имя ключа с помощью итеративного обхода.

  4. Выполните нужную команду. Например:

    text
    TTL <имя ключа>

    Возможные значения в ответе:

    • неотрицательное число — оставшееся время жизни;
    • −1 — у ключа нет срока жизни;
    • −2 — ключ не существует.

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

  • EXPIRE — если указываете время в секундах;
  • PEXPIRE — если указываете время в миллисекундах.
  1. Подключитесь к кластеру.

  2. Переключитесь на нужную базу данных.

  3. Узнайте имя ключа с помощью итеративного обхода.

  4. Выполните нужную команду. Например:

    text
    EXPIRE <имя ключа> <количество секунд> [NX | XX | GT | LT]

    В команде:

    • NX — установить срок жизни, если у ключа его еще нет;
    • XX — перезаписать срок жизни, только если он уже установлен;
    • GT — перезаписать срок жизни, если новый срок больше текущего;
    • LT — перезаписать срок жизни, если новый срок меньше текущего.

    Команда вернет 1, если срок жизни установлен, и 0, если ключ не существует или условие не выполнено.

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

Заголовок раздела «Установить срок жизни ключа до метки времени»

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

  • EXPIREAT — если указываете время в секундах;
  • PEXPIREAT — если указываете время в миллисекундах.
  1. Подключитесь к кластеру.

  2. Переключитесь на нужную базу данных.

  3. Узнайте имя ключа с помощью итеративного обхода.

  4. Выполните нужную команду. Например:

    text
    EXPIREAT <имя ключа> <метка времени> [NX | XX | GT | LT]

    В команде:

    • <метка времени> — момент времени в формате Unix (количество секунд или миллисекунд с 1 января 1970 года). При применении неположительного срока или метки из прошлого ключ будет удален.
    • NX — установить срок жизни, если у ключа его еще нет.
    • XX — перезаписать срок жизни, только если он уже установлен.
    • GT — перезаписать срок жизни, если новый срок больше текущего. Для ключа без срока жизни текущий срок считается бесконечным, поэтому GT никогда не установит срок жизни на такой ключ.
    • LT — перезаписать срок жизни, если новый срок меньше текущего. Для ключа без срока жизни текущий срок считается бесконечным, поэтому LT всегда установит срок жизни на такой ключ.

    Команда вернет 1, если срок жизни установлен, и 0, если ключ не существует или условие не выполнено.

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

  1. Подключитесь к кластеру.

  2. Переключитесь на нужную базу данных.

  3. Узнайте имя ключа с помощью итеративного обхода.

  4. Выполните команду:

    text
    PERSIST <имя ключа>

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