Как удалить элемент в списке кэша весной редис на основе входного параметра - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть следующий метод для кэширования результатов всех книг.

    @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);
    }
...