将参考数据保存在spring应用程序的应用程序内存中(spring MongoRepository)

时间:2016-04-07 10:01:46

标签: java spring mongodb spring-mvc spring-data

我正在使用一个使用monngo db的spring应用程序。应用程序中有一些参考数据,我认为如果我们缓存这些数据(而不是每次都查找),系统会表现得更快。

我怎样才能做到这一点?下面将受到影响的一个参考数据数据表的示例:

public interface ApplicationDetailsRepository extends MongoRepository<ApplicationDetails, String> {
    ApplicationDetails findByApplication(String application);
}

2 个答案:

答案 0 :(得分:0)

您可以添加findByApplication方法的自定义实现,如下所述:spring doc

此外,您还可以使用字段存储&#34;缓存&#34;值而不是每次从数据库中检索它们。

答案 1 :(得分:0)

添加注释@EnableCaching似乎效果很好

完整详情here

因此,您将@EnableCaching添加到您的应用程序配置

    @Bean
    public CacheManager cacheManager() {
        SimpleCacheManager cacheManager = new SimpleCacheManager();
        cacheManager.setCaches(Arrays.asList(new ConcurrentMapCache("applicationdetails")));
        return cacheManager;
    }

然后按如下方式注释您的存储库方法:

public interface ApplicationDetailsRepository extends MongoRepository<ApplicationDetails, String> {
    @Cacheable("applicationdetails")
    ApplicationDetails findByApplication(String application);
}