如何根据输入参数删除列表缓存spring redis中的元素

ws51t4hk  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(171)

我有以下方法来缓存所有书籍的结果。

@Cacheable(value = "books")
    public List<Books> getAllBooks() {

        return booksRepository.findAllBooks();
    }

在第一次调用之后,它被缓存,键是“books::simplekey[]”。现在我想从数据库中删除book。当用bookid参数调用delete方法时,如何更新现有的缓存?我尝试了如下操作,但它删除了整个books缓存,但我只想删除具有特定bookid的list元素。有人能帮忙吗?

@CacheEvict(value = "books")
    public void deleteBook(BookId bookId) {

        booksRepository.deleteById(bookId);
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题