查询缓存
默认情况下,查询缓存未启用。要使用查询缓存,我们需要在实体 Bean 类型的 @Cache
映射注释中显式启用它。
启用查询缓存
以下示例在 Customer 实体 Bean 上启用了查询缓存。
@Cache(enableQueryCache=true)
@Entity
public class Customer {
...
}
setUseQueryCache(true)
要使用查询缓存,必须在查询中显式
指定其使用。
// use the query cache
List<Country> list = DB.find(Country.class)
.setUseQueryCache(true)
.where().ilike("name", "New%")
.findList();
查询缓存通常用于返回极少更改的列表。这些列表通常用于填充用户界面中的下拉列表/组合框。
如果您熟悉术语“查找表”或“引用表”,那么这些是使用缓存查询的典型候选对象。查找/引用表的一些示例可能是国家、货币和订单状态。
查询缓存列表是只读的。
@CacheQueryTuning
所有查询缓存实现(包括 Hazelcast 和 Apache Ignite)都使用近缓存,并且可以使用 @CacheQueryTuning
进行调整。
@Cache(enableQueryCache=true)
@CacheQueryTuning(maxSecsToLive = 30)
@Entity
public class Product {