@Transactional
@CachePut(cacheNames = "BooksCache", key = "#book.id")
public Book saveOrUpdateBook(Book book) {
return bookRepository.save(book);
}
我尝试了@enabletransactionManagement和@transactional注释。
我还尝试了弹簧启动启动缓存而不是redis缓存,
但这不起作用
您必须从另一类调用 @Cachable-方法。否则,高速缓存代理将不起作用,并且缓存不会更改/触发。
您需要按照我的下面代码来遵循函数参数。
@CachePut(value="products", key="#a0")
public Mono<Product> updateProduct(@PathVariable("prodId") String prodId, @RequestBody ProdInventoryDTO product){
log.info("Product associated with id : " + prodId + " updated in database.");
return productservice.updateProduct(product, prodId);
}