Skip to main content

Що означає модель "key-value" у контексті Redis?

"Key-value" модель у контексті Redis означає, що всі дані зберігаються у вигляді пар "ключ - значення". Кожен запис у Redis складається з двох елементів:

javascript
ключ → значення

Суть моделі

Redis не зберігає рядки в таблицях, як SQL-бази. Він являє собою величезний асоціативний масив (словник), де:

  • ключ (key) - унікальне ім'я (рядок), за яким можна миттєво звернутися до даних;
  • значення (value) - дані будь-якого підтримуваного типу (String, List, Set, Hash, ZSet, Stream тощо).

Приклад

bash
SET user:1 "Anna" GET user:1

Тут:

  • ключ - user:1,
  • значення - "Anna".

Redis миттєво знаходить значення за ключем, як словник у пам'яті.

Приклад з іншими типами

bash
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 - це основа, де все будується навколо унікальних ключів, до яких прив'язані значення будь-якого типу, оброблювані напряму в оперативній пам'яті.

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

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

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