无法使用Caffeine创建简单缓存

时间:2016-05-20 20:34:11

标签: java caching caffeine

我试图用咖啡因创建一个简单的(非加载)缓存。

Cache<String, MyObject> countsCache =   
    CacheBuilder.newBuilder().build();

编译失败,报告错误:

Error:(42, 31) java: incompatible types: 
no instance(s) of type variable(s) K1,V1 exist so that org.elasticsearch.common.cache.Cache<K1,V1> conforms to com.github.benmanes.caffeine.cache.Cache<java.lang.String,com.foo.bar.MyObject>

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:7)

您似乎导入了ElasticSearch的缓存接口以分配缓存构建器的结果。您展示的构建器语法是Guava的CacheBuilder。由于许多用户会使用Guava并且可能会迁移,因此构建器称为Caffeine以减少混淆。

您应该能够构建像

这样的缓存
Cache<String, MyObject> countsCache = Caffeine.newBuilder().build();