【发布时间】:2018-04-10 10:59:37
【问题描述】:
我正在尝试以最少的设置创建具有二级缓存的存储库。我的数据库是postgresql。
我从使用 maven 的 spring-boot-sample-data-jpa-archetype 项目开始。 我已经删除了 HSQL 并创建了一个 DataSource bean 来连接到 postgresql。 也可以使用 ddl 创建 schema 并导入初始脚本数据。
我还将@Cacheable 添加到我的实体中。 然后我使用单元测试使用存储库查询一个实体 10 次。耗时1~49ms。所以这给我留下了两个问题。
- 存储库是否受益于 L1 缓存?我如何知道我是在访问缓存还是数据源?
- 如何开启二级缓存? Spring数据有自己的实现吗?
【问题讨论】:
-
Spring Data JPA 只是 JPA 的一个包装器。如果你想使用 L2 缓存,它完全取决于使用的 JPA 实现(在 Spring Boot 中默认为 Hibernate)。
-
@dunni Java 8 有捆绑 JPA 实现吗?
-
没有。 JPA 不是 JDK 的一部分
标签: java caching spring-data-jpa