Що означає модель "key-value" у контексті Redis?
"Key-value" модель у контексті Redis означає, що всі дані зберігаються у вигляді пар "ключ - значення". Кожен запис у Redis складається з двох елементів:
ключ → значенняСуть моделі
Redis не зберігає рядки в таблицях, як SQL-бази. Він являє собою величезний асоціативний масив (словник), де:
- ключ (key) - унікальне ім'я (рядок), за яким можна миттєво звернутися до даних;
- значення (value) - дані будь-якого підтримуваного типу (String, List, Set, Hash, ZSet, Stream тощо).
Приклад
SET user:1 "Anna"
GET user:1Тут:
- ключ -
user:1, - значення -
"Anna".
Redis миттєво знаходить значення за ключем, як словник у пам'яті.
Приклад з іншими типами
HSET user:1 name "Anna" age "27"
LPUSH messages "hi" "hello" "bye"
ZADD scores 100 "Anna" 120 "Ivan"Усі три записи - пари key → value, але value у кожного має свій тип даних:
user:1- хеш (Hash),messages- список (List),scores- відсортована множина (Sorted Set).
Чому Redis key-value, а не просто key-string
Хоча Redis базується на моделі key-value, "value" у ньому може бути структурою даних, а не лише рядком. Це відрізняє Redis від простих key-value систем на кшталт Memcached.
Переваги моделі
- O(1) доступ до даних за ключем (дуже швидко).
- Простота архітектури - немає таблиць, індексів, схем.
- Гнучкість: різні типи значень під одним інтерфейсом "ключ → значення".
- Масштабованість: ключі легко розподіляються по кластеру.
Застосування
- Кешування (ключ - запит, значення - результат).
- Сесії користувачів.
- Лічильники й токени.
- Черги, тимчасові сховища, рейтинги тощо.
Таким чином, key-value модель у Redis - це основа, де все будується навколо унікальних ключів, до яких прив'язані значення будь-якого типу, оброблювані напряму в оперативній пам'яті.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.