Similar presentations:
Система управления БД Redis
1. Система управления БД Redis
Подготовил Бакланов В.2. Что такое Redis?
• Redis (REmote DIctionary Service — удалённый серверсловарей) это одна из самых популярных систем
управления базами данных
• Информация Redis хранится в оперативной памяти. Такая
память работает быстрее, чем системы, которые
используют жёсткий диск.
• Хранит данные по схеме «ключ» - «значение» (является
NoSQL)
3. Для чего используется Redis?
4. Типы данных
● Строки. Они могут хранить текстовые данные или бинарные — например,картинки.
● Списки. Набор элементов, которые упорядочены и пронумерованы.
● Множества. Неупорядоченные списки элементов.
● Хэш-таблицы. Набор пар «ключ-значение». Хэши особенно полезны для
хранения объектов, например, пользовательских профилей.
● Сортированные множества. Они упорядочены, и у каждого элемента есть
числовая метка. Это помогает при сортировке.
● HyperLogLog. Подсчитывает количество уникальных элементов в множестве.
HyperLogLog позволяет экономить память при обработке больших объёмов
данных.
● Геопространственные индексы. Выполняют операции с географическими
координатами. Например, при поиске ближайших объектов.
● Битовые карты. Набор последовательно записанных двоичных разрядов —
битов. Битовые карты используют, например, в компьютерной графике, где
она хранит значения пикселей.
5. Типы архитектуры: Единственный экземпляр
6. Типы архитектуры: Redis High Availability
7. Типы архитектуры: Redis Sentinel
8. Типы архитектуры: Redis Cluster
9. Модели постоянного хранения данных в Redis: AOF
10. Модели постоянного хранения данных в Redis: RDB
11. Некоторые команды для Redis
SETУстанавливает ключ и его значение. Это может быть, например, номер
пользователя (user888) и его имя (Ivan).
GET
Получает значение, которое связано с ключом. Например, при вводе номера
пользователя, который является ключом, можно узнать имя — значение
ключа.
DEL
EXISTS
APPEND
Удаляет ключ и его значение из базы данных.
Проверяет существование ключа.
Добавляет дополнительное значение к существующему ключу. Например, к
имени пользователя можно добавить год рождения.
RENAME
FLUSHALL
PUBLISH channel
message
Меняет название ключа.
SUBSCRIBE channel
Подписывает на канал и начинает присылать опубликованные в нём
сообщения.
Удаляет все данные в текущем сеансе.
Отправляет сообщение на канал.
12. Преимущества Redis
✅ Высокая производительность. С помощью Redis можно быстро читатьи записывать данные.
✅ Простота использования. У Redis интуитивно понятный интерфейс.
✅ Масштабируемость. С помощью Redis можно добавлять
дополнительные узлы для обработки больших объёмов данных.
✅ Поддержка различных типов данных. Это, например, списки, хэши,
множества, строки, геопространственные индексы. Далее разберём их
подробно.
✅ Поддержка Pub/Sub. Redis используют для публикации сообщений и
подписки на них — это полезно, например, при создании чатов.
✅ Комьюнити. У Redis большое сообщество пользователей, которые
помогают новичкам решать возникающие проблемы.
13. Недостатки Redis
❌ Ограничена поддержка транзакций. Транзакция в СУБД — это наборопераций. В Redis существует особенность механизма транзакций: даже если
одна команда не выполнится, остальные всё равно могут выполниться. Это
может нарушить целостность данных — где-то будет пробел.
❌ Можно потерять данные. В Redis есть риск потерять информацию из-за
сбоя. Но этого можно избежать, если создавать резервные копии или
использовать режимы сохранения на диск — в Redis это RDB и AOF.
❌ Ограничения по объёму данных. Предел зависит от того, сколько
оперативной памяти доступно на сервере.
❌ Ограниченная поддержка реляционных данных. В реляционных базах
данные организованы в таблицы, которые связаны между собой. За счёт этого
можно выполнять сложные запросы одновременно к нескольким таблицам.
Например, когда пользователь заполняет заявку на покупку товара, он
выбирает его параметры — это одна таблица. А вот данные профиля — имя,
платёжные реквизиты, адрес доставки — это другая таблица. Redis не может
работать с такими данными.
14. Библиотеки для Java
• Jedis – клиент для синхронной работы Redis Community Editionчерез Java
• Lettuce — это продвинутый клиент Java для Redis, который
поддерживает синхронные, асинхронные и реактивные
соединения.
• Redis OM Spring – аналог Spting Data Jpa только для Redis Stack,
простой и удобный маппинг, упрощенное взаимодействие с
репозиториями
15. Сслыки на материалы
• Официальный сайт Redis• Статья на Хабр
• Статья на Яндекс.Практикум
• Статья на Академии Selectel
• Видео на YouTube 1
• Видео на YouTube 2
database