Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Чому Redis - це in-memory БД?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Redis називають in-memory базою даних, тому що всі дані зберігаються й обробляються прямо в оперативній пам'яті (RAM), а не на диску, як у класичних СУБД: кожна структура (String, List, Set, Hash, ZSet тощо) живе в пам'яті, а диск використовується лише для резервного копіювання чи персистентності (RDB/AOF). **Ключове:** обсяг даних обмежений обсягом RAM, і при переповненні Redis застосовує eviction-політику (наприклад, `allkeys-lru`), видаляючи старі ключі; дані втрачаються при збої живлення, якщо персистентність не налаштована.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення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**, де диск використовується допоміжно, а вся робота з даними відбувається в оперативній пам'яті для забезпечення максимальної швидкості.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.