- 我正在尝试使用 Infinispan 缓存以仅本地缓存模式存储 Java 对象。
- 我想查询两个键以及一些字段。所以我使用Infinispan的查询/索引模块。
- 索引字段的查找性能非常好。然而,与没有索引的情况相比,加载缓存中的所有项目需要花费大量时间。
- 例如对于大约 50k 对象,使用 Indexing Infinispan 需要 10 分钟才能将项目加载到缓存中。没有索引,只花了 2 秒。
- 我想知道 Infinispan 在索引后是否这么慢,或者我是否做了一些严重错误的事情。
Configuration infinispanConfiguration = new ConfigurationBuilder() .indexing() .enable() .indexLocalOnly(true) .build(); DefaultCacheManager cacheManager = new DefaultCacheManager(infinispanConfiguration)
;
@Indexed @ProvidedId
public class Book {
@Field String title;
@Field String description;
@Field String author;
@Field int yearOfPublication ;
String briefDescription;
int edition;
boolean isBestSeller;
}
最佳答案
如您所知,当您使用索引模块时,Infinispan 使用 Hibernate Search 和 Apache Lucene。
根据您的配置,您将使用 Lucene 索引的默认值。您可以指定许多选项来提高索引性能。
您可以引用以下内容了解更多信息
[1] https://docs.jboss.org/author/display/ISPN/Querying+Infinispan [2]http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#lucene-indexing-performance
关于java - Infinispan - 使用索引加载数据非常慢。可以做得更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090361/