Hibernate EHCache与MemCache的比较

14

我希望在我的网站应用程序中使用缓存,并且它也可以扩展和分布。

我曾经在小型网站应用程序中分别使用过EHCache和MemCache。

我在谷歌上搜索并得到了有关两者的混合评论,因此我想获得一些帮助和各自强大的功能,以便决定哪个框架适合我的网站应用程序。

如果需要更多详细信息,请告诉我。

谢谢!!

1个回答

14

EHCache非常容易与Hibernate应用程序集成(web应用程序使用Hibernate作为后端ORM)。您还可以将它作为单独的artifact导入并以编程方式执行操作,例如向指定到期时间或最大对象数或大小的命名缓存添加数据。

Memcached与Hibernate应用程序不太容易集成,但本质上提供了几乎相同的编程访问API,如EHCache。

就性能而言,结果也会因缓存的架构和使用情况而异。

总之,在选择缓存时,如果您是在标准方式下使用,则只是个人喜好问题。我个人更喜欢EHCache,因为我有更多的经验。

JBoss也有一个分布式缓存(即由机群共享的缓存),其中同步在内部处理,API与EHCache非常相似。它被称为Infinispan,设置和使用也相对容易。

编辑:

EHCache的一个强大特点是无缝集成作为Hibernate的第二级缓存。此外,以编程方式配置缓存非常简单且Java风格。

也许将您引用到这篇文章进行性能比较是个好主意。请注意,它很古老,所以可能不是非常最新。 http://gregluck.com/blog/archives/2007/05/comparing-memcached-and-ehcache-performance/


1
请分享一下您在使用EHCache和MemCached处理可扩展应用程序集群方面的经验。 - Manoj Kathiriya
1
我在Rackspace虚拟集群中仅使用了EHCache。需要注意的重要事项是缓存不是共享的,每台机器都有自己的缓存。如果这符合您的架构要求,则可以使用Memcached或EHcache。我仅在小型项目中使用过Memcached,因此对其没有深入的了解或经验,但它似乎与EHCache基本相同。 - Nikola Yovchev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接