希望拥有专用缓存,并希望其他进程从此缓存 (Java) 中获取数据



我正在开发基于Java的作业,这些作业具有一些业务逻辑,这些逻辑将在自己的jvm中运行,并且希望有一个单独的缓存,其中包含数据库中经常访问的数据,也运行在自己的jvm中。作业需要访问此缓存,而不是命中数据库。

  1. 我可以使用哪个缓存?妄、榛子还是连贯?
  2. 作业将如何访问此缓存? 基本上,我将如何将缓存操作主要提取操作公开给作业?

我只有一些EhCache的经验,它充当Hibernate(或任何其他ORM(的缓存层,并且对获取操作是透明的,这意味着您不必在每次运行数据库查询时都显式激活它。EhCache检查您运行的每个查询,如果它看到之前运行的具有相同参数的相同查询,那么它将命中缓存,除非无效。但是,EhCache 与具有默认配置的 Java 应用程序在同一 JVM 上运行。

还有另一种解决方案,因为您希望在单独的计算机上运行缓存。名为 Redis (https://redis.io/( 的数据库是构建快速缓存的绝佳工具。它是一个基于文档的NOSQL存储,可以独立运行或嵌入在缓存JVM上。我强烈建议您尝试一下(我与Redis没有任何关系:)(

最新更新