TGViewer
Java Developer Java Developer @java_tg · 14.8K subscribers
Post #3970 2.89K
🖼️ 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 | #полезное
  • ❤ 4
  • 👍 3
More from @java_tg
  1. Sep 26, 2026Post #4372
  2. Sep 26, 2026Бесплатный ChatGPT для работы прямо в Telegram Личный ассистент для рабочих задач. Без зар…
  3. Sep 26, 2026👩‍💻 Как сделать Java-сервис устойчивее к сбоям Resilience4j добавляет готовые паттерны C…
  4. Sep 25, 2026Post #4369
  5. Sep 25, 2026Если ты ждёшь знака, что пора валить в IT за границу, то вот он. IT — одна из немногих сфе…
  6. Sep 25, 2026👩‍💻 Миграция на Spring Boot 4, Spring 7 и JDK 25 В статье автор на примере демо-проекта…
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 →