Интересный вопрос по кэшу
Я сделал, но мне не нравится, как (самые большие и затратные запросы не кэшируются)
Я хз, как реализовать норм
В общем, у меня список регионов. Есть получение всех, есть поиск по id (уникальное), есть по имени и сокращенному имени. Есть добавление, апдейт по id и делит по id
Так вот
я сделал кэш dtoшек
И все регионы, которые попросили, превращаю в дто и кэширую туда по id
Ключевая фишка в том, что я хз, как кешировать методы, возвращающие лист. Так как ключ можно выбирать только из параметров метода, который кэшируешь. А там либо пусто (получить все), либо имя, либо сокращенное имя
Но сделать отдельные кэши по имени и сокращенному имени нельзя, потому что апдейт и делит только по id
А делать апдейт и делит еще и по имени, во-первых, небезопасно. А во-вторых, если делать апдейт по имени и сокращенному имени, то надо делать еще одно энтити типа дто, но без id внутри (так как при апдейте валидируется пришедшая дтошка и пустой id не пропустит)
Мне очень не нравится нынешняя реализация, но и перечисленные способы решения проблемы мне не нравятся еще больше
Как можно сделать иначе?