Каковы основные преимущества / отличия [кеширование по сравнению с обычным кэшированием карты] - PullRequest
0 голосов
/ 16 мая 2019

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

Мои первые впечатления в том, что код менее тяжелый, мне не нужно писать столько кода. Это плюс.

Отрицательным является то, что я не могу контролировать то, что кэшируется так же, как использование идентификаторов, наборов сущностей, передаваемых таким методам, как saveAll и т. Д. Также некоторые методы, которые выполняют более сложные запросы.

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

Я на 50/50 использую свою собственную реализацию кэширования против Spring-Cachce. Какие риски я могу столкнуться с этим кешем пружины уже решает для меня?

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

1 Ответ

2 голосов
/ 16 мая 2019

Spring по умолчанию использует ConcurrentHashMap по умолчанию, но если вы включите Caffeine (https://github.com/ben-manes/caffeine) или Hazelcast в classpath, вы получите другого поставщика кеша. Прелесть этого в том, что вы можете настроить кеш снаружи или ваше приложение безлюбой код.

...