Я немного потерялся из-за проблемы. Мне нужно сохранить в кеше список данных, которые я запрашиваю из базы данных. Список очень большой, и когда он загружается в поле со списком, он не оптимален. Есть идеи по этому поводу?
Мой код:
Контроллер:
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>
Плохая производительность, список загружается медленно. Прости я плохо знаю английский.




Вы можете использовать что-то вроде EhCache, чтобы установить запрос как @Cacheable, это будет указывать на то, что результат вызова метода (или всех методов в классе) можно кэшировать.
Каждый раз, когда вызывается рекомендованный метод, будет применяться поведение кэширования, проверяющее, был ли метод уже вызван для данных аргументов:
Что значит
not optim?