用于缓存的spring-guides中的示例显示了如何检索一个元素并将其存储在缓存中
@Override
@Cacheable("books")
public Book getByIsbn(String isbn) {
simulateSlowService();
return new Book(isbn, "Some book");
}
我想查询数据库一次获取所有元素,然后将它们作为参考缓存存储在启动时(PostConstruct)。
public Collection<Book> getAllBooks() {
return this.entityManager.createNamedQuery(Book.all, Book.class).getResultList();
}
您可以直接存储地图吗?如果我调用getAllBooks()方法广告,请使用BookService中的@CachePut。
有人可以举一个例子/最佳实践吗?
由于
答案 0 :(得分:0)
确切地说,在您的服务中使用@CachePut
以预加载缓存。使用@CachePut
注释的方法的返回值始终放在缓存中。