Керування Терміном Дії Ключів
TTL визначає тривалість, протягом якої ключ залишається доступним у базі даних. Після закінчення цього часу ключ автоматично видаляється.
Як показано в прикладі, ключі з простроченим TTL видаляються, тоді як інші ключі продовжують існувати в базі даних із їхніми оновленими строками життя. Це допомагає оптимізувати використання пам'яті та автоматизувати видалення застарілих даних.
Встановлення часу життя ключа
Можна встановити час життя для ключа кількома способами. Наприклад, можна визначити ключ і вказати, що він існуватиме протягом однієї години:
SET my_key "session:31003"
EXPIRE my_key 3600
Тут ключ my_key буде автоматично видалено через 3600 секунд (1 година).
Альтернативно, можна поєднати встановлення значення та визначення TTL однією командою. Наприклад, щоб встановити TTL у секундах або мілісекундах:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
У першому випадку ключ буде видалено через 3600 секунд, а в другому — через 60000 мілісекунд (1 хвилина).
Перевірка залишкового TTL
Щоб перевірити, скільки часу залишилося до видалення ключа, використовуйте команду TTL:
TTL my_key
Якщо ключ існує та має TTL, команда поверне залишок часу у секундах. Наприклад, якщо результат — 120, ключ буде видалено через 2 хвилини. Якщо у ключа немає часу життя, результат буде -1, а якщо ключ не існує — -2.
Для більш точного контролю можна використовувати мілісекунди:
PTTL my_key
Наприклад, якщо результат — 45000, це означає, що ключ буде видалено через 45 секунд.
Видалення часу життя ключа
Якщо ключ більше не повинен автоматично видалятися, можна прибрати його TTL:
PERSIST my_key
Після виконання цієї команди ключ my_key стане постійним і не буде видалятися автоматично.
Практичні застосування
Керування терміном дії ключів має широкий спектр використань. Наприклад, у кешуванні прострочені записи автоматично видаляються, звільняючи пам'ять. Для керування сесіями це забезпечує завершення неактивних сесій, підвищуючи як безпеку системи, так і продуктивність.
1. Яка мета керування TTL для ключів у Redis?
2. Що відбувається, коли ви виконуєте команду PERSIST для ключа?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain how to set a TTL for multiple keys at once?
What happens if I reset the TTL of a key before it expires?
Are there any best practices for managing TTLs in Redis?
Awesome!
Completion rate improved to 3.33
Керування Терміном Дії Ключів
Свайпніть щоб показати меню
TTL визначає тривалість, протягом якої ключ залишається доступним у базі даних. Після закінчення цього часу ключ автоматично видаляється.
Як показано в прикладі, ключі з простроченим TTL видаляються, тоді як інші ключі продовжують існувати в базі даних із їхніми оновленими строками життя. Це допомагає оптимізувати використання пам'яті та автоматизувати видалення застарілих даних.
Встановлення часу життя ключа
Можна встановити час життя для ключа кількома способами. Наприклад, можна визначити ключ і вказати, що він існуватиме протягом однієї години:
SET my_key "session:31003"
EXPIRE my_key 3600
Тут ключ my_key буде автоматично видалено через 3600 секунд (1 година).
Альтернативно, можна поєднати встановлення значення та визначення TTL однією командою. Наприклад, щоб встановити TTL у секундах або мілісекундах:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
У першому випадку ключ буде видалено через 3600 секунд, а в другому — через 60000 мілісекунд (1 хвилина).
Перевірка залишкового TTL
Щоб перевірити, скільки часу залишилося до видалення ключа, використовуйте команду TTL:
TTL my_key
Якщо ключ існує та має TTL, команда поверне залишок часу у секундах. Наприклад, якщо результат — 120, ключ буде видалено через 2 хвилини. Якщо у ключа немає часу життя, результат буде -1, а якщо ключ не існує — -2.
Для більш точного контролю можна використовувати мілісекунди:
PTTL my_key
Наприклад, якщо результат — 45000, це означає, що ключ буде видалено через 45 секунд.
Видалення часу життя ключа
Якщо ключ більше не повинен автоматично видалятися, можна прибрати його TTL:
PERSIST my_key
Після виконання цієї команди ключ my_key стане постійним і не буде видалятися автоматично.
Практичні застосування
Керування терміном дії ключів має широкий спектр використань. Наприклад, у кешуванні прострочені записи автоматично видаляються, звільняючи пам'ять. Для керування сесіями це забезпечує завершення неактивних сесій, підвищуючи як безпеку системи, так і продуктивність.
1. Яка мета керування TTL для ключів у Redis?
2. Що відбувається, коли ви виконуєте команду PERSIST для ключа?
Дякуємо за ваш відгук!