【发布时间】:2018-01-10 21:06:40
【问题描述】:
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。
有人可以举个例子/最佳实践吗?
谢谢
【问题讨论】: