Встречается на собеседованиях • сегодня

Зачем нужно кэширование в ORM

Кэширование в ORM ускоряет доступ к данным, уменьшая количество запросов к БД. Основные цели:

  1. Производительность – кэш хранит часто используемые объекты в памяти, избегая повторных SQL-запросов.
  2. Снижение нагрузки – уменьшает нагрузку на базу данных, особенно при частых чтениях.
  3. Согласованность – ORM-кэш может поддерживать актуальность данных в рамках сессии/транзакции.

Пример с Hibernate:

java
@Entity
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Product {
    @Id
    private Long id;
    private String name;
}

Уровни кэширования:

  • 1-й уровень (сессия) – кэширует объекты в рамках одной сессии.
  • 2-й уровень (приложение) – общий кэш для всех сессий (например, Ehcache, Redis).
  • Запросный кэш – кэширует результаты часто выполняемых запросов.

Осторожно! Кэширование требует настройки инвалидации при изменениях данных.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы