Skip to main content

Чому Redis - це in-memory БД?

Redis називають in-memory базою даних, тому що всі дані зберігаються й обробляються прямо в оперативній пам'яті (RAM), а не на диску, як у класичних СУБД.

Основна ідея

Redis працює повністю з оперативної пам'яті, щоб забезпечити:

  • миттєвий доступ до даних (час звернення - мікросекунди),
  • високу пропускну здатність (мільйони операцій за секунду),
  • низьку затримку навіть за великої кількості клієнтів.

Диск використовується лише для резервного копіювання чи персистентності, але не для основної роботи з даними.

Як це влаштовано

  1. Усі структури даних (String, List, Set, Hash, ZSet та ін.) живуть в оперативній пам'яті.
  2. Кожна операція (GET, SET, INCR тощо) виконується напряму над об'єктами в пам'яті.
  3. Щоб дані не втрачалися при перезапуску, Redis може:
  • періодично зберігати знімок (RDB snapshot) на диск,
  • чи журналювати кожен запис (AOF - Append Only File). Після перезапуску Redis завантажує ці дані назад у пам'ять.

Чому це важливо

  • Оперативна пам'ять у десятки тисяч разів швидша за диск.
  • Немає повільного I/O - читання й запис виконуються напряму з RAM.
  • Це робить Redis ідеальним для кешів, черг, сесій, токенів, лічильників і real-time аналітики.

Але при цьому Redis не "чистий кеш"

Хоча Redis працює в пам'яті, він може бути персистентним:

  • За увімкненого RDB чи AOF дані зберігаються й відновлюються після перезапуску.
  • Також Redis може працювати в режимі реплікації й кластера, що робить його стійким до збоїв.

Переваги in-memory підходу

  • Швидкість: мільйони операцій за секунду.
  • Мінімальна затримка (<1 мс).
  • Можливість виконувати складні операції прямо в пам'яті (агрегації, сортування, черги).

Обмеження

  • Обсяг даних обмежений обсягом RAM.
  • При переповненні Redis застосовує eviction-політику - видаляє старі ключі (наприклад, volatile-lru, allkeys-lru тощо).
  • Дані втрачаються при збої живлення, якщо не налаштована персистентність.

Таким чином, Redis - це in-memory key-value store, де диск використовується допоміжно, а вся робота з даними відбувається в оперативній пам'яті для забезпечення максимальної швидкості.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.