У меня есть следующий метод для кэширования результатов всех книг.
@Cacheable(value = "books")
public List<Books> getAllBooks() {
return booksRepository.findAllBooks();
}
После первого вызова он кэшируется с помощью ключа "books :: SimpleKey []". Теперь я хотел удалить книгу из db. Как я могу обновить существующий кеш при вызове метода DELETE с параметром BookId? Я пробовал что-то подобное ниже, но он удаляет весь кеш книг, но я хочу удалить только элемент списка с этим конкретным BookId. Может кто-нибудь помочь?
@CacheEvict(value = "books")
public void deleteBook(BookId bookId) {
booksRepository.deleteById(bookId);
}