В приложении Spring у нас есть два контроллера, то есть controller1, controller2 и одна служба, то есть service1
Я хочу использовать кеширование методов, и для этого я настроил весенний кеш.
Я кэширую метод с именем method1 в service1 с помощью @Cacheable(value = "cache1")
, а для удаления кеша я использую @CacheEvict(value = "cache1", allEntries = true)
для другого метода с именем method2 в service1.
поэтому кеширование работает нормально, но выселение не работает так, как я хочу.
поэтому, если я вызываю метод1 (метод cachable) с контроллера 1, он будет кэшировать и вызывать метод 2 (метод cacheEvict) с контроллера 1, тогда он удалит / выселит cachce должным образом, НО когда я вызываю метод 2 (метод cacheEvict) с контроллера 2, тогда он НЕ УДАЛЯЕТ / УДАЛЯЕТ КЭШ но Я ХОЧУ ЭТО СДЕЛАТЬ.
Я хочу выселять / удалять кеш каждый раз, когда вызывается метод, независимо от того, с какого контроллера он вызывается.
это требуется в большинстве случаев, потому что контроллер 1 предназначен для клиента, а контроллер 2 - для администратора. мы кэшируем методы, используемые в контроллере1, и мы хотим удалить тот же кеш, когда любое обновление происходит с контроллера2, то есть с администратора.