Hazelcast Hibernate 查询缓存区域配置
Hazelcast Hibernate Query Cache Region configuration
我是 运行 P2P 模式下的 Hazelcast 3.11 和 Hibernate-5.3。我已经为我的实体配置了具有过期策略的二级缓存区域。现在我正在尝试为我的查询缓存配置过期策略,但问题是,我找不到查询缓存默认区域名称,也不确定它是否可以使用 hazelcast 映射进行配置。我尝试了下一个配置,但没有成功:
eviction-policy: LFU
in-memory-format: BINARY
name: org.hibernate.cache.internal.*
max-size: 1000
max-size-policy: PER_NODE
time-to-live: 10
time-to-idle: 10
和
eviction-policy: LFU
in-memory-format: BINARY
name: default-query-results-region
max-size: 1000
max-size-policy: PER_NODE
time-to-live: 10
time-to-idle: 10
是否可以使用 hazelcast 配置查询缓存区域?
编辑:
根据查询执行期间设置的缓存区域名称,必须在 Hazelcast 配置中配置具有该区域名称的地图。例如,default-query-results-region
将被使用并且必须为以下查询配置:
session.createQuery(QUERY_STRING).setCacheable(true);
和 custom-name
用于以下内容:
session.createQuery(QUERY_STRING).setCacheable(true).setCacheRegion("custom-name");
您应该以编程方式或在 hazelcast.xml 上配置地图配置,以便:
<map name="default-query-results-region">
<max-size>1000</max-size>
<time-to-live-seconds>10</time-to-live-seconds>
</map>
<map name="custom-name">
<max-size>1000</max-size>
<time-to-live-seconds>10</time-to-live-seconds>
</map>
请记住,在 Hazelcast L2C 中,查询结果不会缓存在分布式地图中,而是缓存在本地地图中。根据 max-size
和 time-to-live
标准,基于 仅 的驱逐定期执行基本清理程序。其他选项(驱逐策略、内存格式、空闲时间等)即使您设置也会被忽略。
我是 运行 P2P 模式下的 Hazelcast 3.11 和 Hibernate-5.3。我已经为我的实体配置了具有过期策略的二级缓存区域。现在我正在尝试为我的查询缓存配置过期策略,但问题是,我找不到查询缓存默认区域名称,也不确定它是否可以使用 hazelcast 映射进行配置。我尝试了下一个配置,但没有成功:
eviction-policy: LFU
in-memory-format: BINARY
name: org.hibernate.cache.internal.*
max-size: 1000
max-size-policy: PER_NODE
time-to-live: 10
time-to-idle: 10
和
eviction-policy: LFU
in-memory-format: BINARY
name: default-query-results-region
max-size: 1000
max-size-policy: PER_NODE
time-to-live: 10
time-to-idle: 10
是否可以使用 hazelcast 配置查询缓存区域?
编辑:
根据查询执行期间设置的缓存区域名称,必须在 Hazelcast 配置中配置具有该区域名称的地图。例如,default-query-results-region
将被使用并且必须为以下查询配置:
session.createQuery(QUERY_STRING).setCacheable(true);
和 custom-name
用于以下内容:
session.createQuery(QUERY_STRING).setCacheable(true).setCacheRegion("custom-name");
您应该以编程方式或在 hazelcast.xml 上配置地图配置,以便:
<map name="default-query-results-region">
<max-size>1000</max-size>
<time-to-live-seconds>10</time-to-live-seconds>
</map>
<map name="custom-name">
<max-size>1000</max-size>
<time-to-live-seconds>10</time-to-live-seconds>
</map>
请记住,在 Hazelcast L2C 中,查询结果不会缓存在分布式地图中,而是缓存在本地地图中。根据 max-size
和 time-to-live
标准,基于 仅 的驱逐定期执行基本清理程序。其他选项(驱逐策略、内存格式、空闲时间等)即使您设置也会被忽略。