12.8. 第二级缓存


12.8.1. 关于第二级缓存

第二级缓存是在应用会话外保留信息的本地数据存储。缓存由持久性提供商管理,通过将数据与应用分开来改进运行时。

JBoss EAP 支持用于以下目的的缓存:

  • Web Session Clustering
  • 有状态的 Session Bean Clustering
  • SSO 集群
  • Hibernate 第二级缓存
  • Jakarta Persistence second-level Cache
警告

每个缓存容器定义一个 repl 和一个 dist 缓存。用户应用不应直接使用这些缓存。

12.8.1.1. 默认的二级缓存供应商

Infinispan 是 JBoss EAP 的默认第二级缓存提供程序。Infinispan 是带有可选架构的分布式内存中键/值数据存储,在 Apache License 2.0 下提供。

12.8.1.1.1. 在 Persistence 单元中配置二级缓存

您可以使用 persistence 单元 的 shared-cache-mode 元素来配置第二级缓存。

  1. 请参阅 创建一个 Simple Jakarta Persistence Application,以便在 Red Hat CodeReady Studio 中创建 persistence.xml 文件。
  2. persistence.xml 文件中添加以下内容:

    <persistence-unit name="...">
      (...) <!-- other configuration -->
      <shared-cache-mode>SHARED_CACHE_MODE</shared-cache-mode>
      <properties>
        <property name="hibernate.cache.use_second_level_cache" value="true" />
        <property name="hibernate.cache.use_query_cache" value="true" />
      </properties>
    </persistence-unit>

    SHARED_CACHE_MODE 元素可以使用以下值:

    • ALL :所有实体都应被视为可缓存。
    • 新增 :任何实体都不应被视为可缓存。
    • ENABLE_SELECTIVE :仅标记为可缓存的实体才应被视为可缓存。
    • DISABLE_SELECTIVE :除明确标记为不可缓存的实体外的所有实体都应被视为可缓存。
    • UNSPECIFIED :行为未定义。适用特定于提供商的默认值。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.