【问题标题】:Keep reference data in application memory in spring application (spring MongoRepository)在spring应用程序(spring MongoRepository)中将引用数据保存在应用程序内存中
【发布时间】:2016-04-07 10:01:46
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    此外,您使用字段来存储“缓存”值,而不是每次都从数据库中检索它们。

    【讨论】:

      【解决方案2】:

      添加注解@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);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-13
        • 2023-03-17
        • 1970-01-01
        相关资源
        最近更新 更多