Поделиться через


Реализация кэша уровня 1

Кэш уровня 1 в построителе данных сокращает избыточные запросы к базе данных, временно кэширование сущности приводит к памяти. Это кэширование повышает производительность для частых запросов и избегает ненужных попаданий в базу данных.

Включение кэша глобально

Чтобы включить кэширование, задайте глобальную конфигурацию среды выполнения:

"runtime": {
  "cache": {
    "enabled": true,
    "ttl-seconds": 60
  }
}
  • enabled: обязательный. Включает кэширование глобально.
  • ttl-seconds: необязательно. Определяет время жизни по умолчанию (в секундах) для кэшированных элементов.

См. параметры кэша среды выполнения.

Включение кэша для каждой сущности

Каждая сущность должна также принять участие в использовании кэша:

"MyEntity": {
  "cache": {
    "enabled": true,
    "ttl-seconds": 30
  }
}
  • enabled: обязательный. Включает кэширование для этой конкретной сущности.
  • ttl-seconds: необязательно. Если значение не указано, наследуется от глобального значения времени жизни (TTL).

См. параметры кэша сущностей.

Behavior

  • Применяется только к конечным точкам REST.
  • Работает на основе каждого маршрута на основе каждого параметра.
  • Кэш недействителен при изменении данных (создание, обновление, удаление).
  • Сущность ttl-seconds переопределяет глобальные ttl-seconds.

Notes

  • Кэш уровня 1 доступен только в памяти.
  • Лучше всего подходит для сценариев с высокой нагрузкой на чтение с низкой волатильностью данных.