Загрузить данные в кеш с помощью java

Я немного потерялся из-за проблемы. Мне нужно сохранить в кеше список данных, которые я запрашиваю из базы данных. Список очень большой, и когда он загружается в поле со списком, он не оптимален. Есть идеи по этому поводу?

Мой код:

  • Контроллер:

    model.addAttribute(LISTA_LUGARES,lugarService.findLugaresByIdMunicipio(documentacionDTO.getIdMunicipio()));
    
  • Услуга:

    public List<Lugar> findLugaresByIdMunicipio(Long idMunicipio) {
        return this.lugarRepository.findLugaresByIdMunicipio(idMunicipio);
    }
    
  • Репозиторий:

    @Query("from Lugar l where l.municipio.id = :idMunicipio order by l.nombre asc")
    List<Lugar> findLugaresByIdMunicipio(@Param("idMunicipio") Long idMunicipio);
    
  • HTML:

     <select
        id = "lugar" th:field = "*{idLugar}" class = "form-control">
        <option th:each = "type : ${lugar}" th:value = "${type.id}"
        th:text = "#{${type.nombre}}">opciones</option>
        </select>
    

Что значит not optim?

michaeak 09.11.2018 12:50

Плохая производительность, список загружается медленно. Прости я плохо знаю английский.

María José Luna Rego 09.11.2018 12:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
561
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать что-то вроде EhCache, чтобы установить запрос как @Cacheable, это будет указывать на то, что результат вызова метода (или всех методов в классе) можно кэшировать.

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

Вот пример

Другие вопросы по теме