TGViewer
Java Developer Java Developer @java_tg · 14.8K subscribers
Post #1853 5.56K
🖼️ Redis

Redis (Remote Dictionary Server) — это in-memory база данных, которая хранит данные в оперативной памяти. Благодаря этому она обеспечивает очень высокую производительность, особенно для операций чтения и записи.

❓Почему Redis?

Хранение данных в оперативной памяти
Redis хранит все данные в оперативной памяти (RAM), что делает операции чрезвычайно быстрыми. Операции чтения и записи происходят за миллисекунды, в отличие от традиционных баз данных, которые хранят данные на диске.


Разнообразие структур данных
Redis поддерживает не только строки, как большинство key-value хранилищ, но и сложные структуры данных:

— Строки (Strings)
— Списки (Lists)
— Множества (Sets)
— Отсортированные множества (Sorted Sets)
— Хэши (Hashes)
— Битовые операции (Bitmaps)
— Гео-данные (Geospatial data)
— Стек и очередь (с помощью списка)


Механизм постоянства данных
Хотя Redis хранит данные в оперативной памяти, он поддерживает два метода сохранения данных на диск для обеспечения постоянства: RDB (Redis Database Backup) — периодическое создание снапшотов данных, AOF (Append Only File) — запись всех операций в журнал, что позволяет восстанавливать состояние Redis при сбое.


Поддержка Pub/Sub
Redis предоставляет возможности для реализации системы обмена сообщениями в реальном времени с помощью механизма публикации/подписки (Pub/Sub). Это позволяет приложениям общаться друг с другом через каналы.


Механизм кластеризации
Redis может быть развернут в режиме кластера, где данные распределяются между несколькими узлами. Это позволяет обеспечить масштабируемость и отказоустойчивость.


❗️Пример использования Redis
Представим, что у нас есть своя социальная сеть, в которой зарегистрирован Месси. Каждый день страничку Месси посещают сотни тысяч пользователей.

Что происходит в таком случае под капотом? Наше приложение постоянно запрашивает одни и те же данные (профиль Месси) из БД, например, MySQL, что занимает десятки миллисекунд. Это очень ресурсоемкий процесс, учитывая количество пользователей, посещающих страницу Месси.

Эту проблему как раз и решает Redis: мы используем его как промежуточный кэш для хранения часто запрашиваемых данных. Вместо того, чтобы каждый раз делать запрос в реляционную БД, приложение сначала проверяет кэш Redis.

Если данные найдены в Redis (cache hit), они возвращаются мгновенно (в пределах миллисекунды). Если данных нет (cache miss), запрос делается в основную БД, а результат сохраняется в Redis для будущих обращений.


Отправляй ⭐️, если было полезно

📱 Java Developer | #полезное
  • 👍 45
  • ❤ 10
  • 🤣 2
  • 😁 1
More from @java_tg
  1. Oct 8, 2026👩‍💻 Что такое API и зачем оно нужно? Простой разбор API, endpoints, JSON и взаимодействи…
  2. Oct 7, 2026👩‍💻 Большая база вопросов для Java-собеседований Основные разделы: 🫡 Java Core и JVM; �…
  3. Oct 6, 2026Post #4392
  4. Oct 6, 2026👩‍💻 Что реально спрашивают на Java-собеседованиях Разбор 247 интервью: HashMap, equals/h…
  5. Oct 5, 2026Post #4389
  6. Oct 5, 2026👩‍💻 Реальные сервисы прямо внутри Java-тестов Вместо моков и локально поднятой базы Test…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →