独立Java应用程序的缓存/映射策略

时间:2015-06-27 17:43:24

标签: java caching hashmap memcached ehcache

我有一个磁盘大小约为50 GB的SQL表。该表是只读的,因此非常适合缓存。对于更快更频繁的查找,理想的是什么 -

  1. Java 8 Hash Map。
  2. Memcached的。
  3. Hibernate EH Cache。 还是更好的?
  4. (提供200 GB的主内存可用于JVM)。

2 个答案:

答案 0 :(得分:1)

您可以开始尝试Guava cache(适用于Java 1.6 +的Google核心库)

  

通常,Guava缓存实用程序适用于:

     
      
  • 你愿意花些时间来提高速度。
  •   
  • 您希望有时会多次查询密钥。
  •   
  • 您的缓存不需要存储比RAM中更多的数据。 (番石榴缓存是您运行一次的本地缓存   它们不会将数据存储在文件中或外部服务器上。

         

    如果这不符合您的需求,请考虑像Memcached这样的工具。)

  •   

答案 1 :(得分:0)

免责声明:我在Ehcache上为Terracotta工作

另一个选择是使用即将发布的Ehcache 3及其offheap层。这将允许您将整个表缓存在RAM中但不在GC的控制之外,因此不会成为暂停时间的来源。