3

我想评估 Hazecast 与 Ehcache 分布式缓存。

首先如何将它们与具有标准 dao/service 层的 Spring + Hibernate 项目一起使用。Ehcache 具有非常优雅且易于使用的注释,例如:

@Cacheable(cacheName = "test", keyGenerator = @KeyGenerator (
            name = "SpELCacheKeyGenerator", properties = @Property(value = "#key.string(#args[0])", name = "expression")))

Hazelcast 是否有类似上述的内容?我没有找到任何信息如何以这种方式将 Hazelcast 用于实体/dtos。

4

2 回答 2

6

Hazelcast 2.1 可用,它具有 Spring Cache 的实现。Spring Cacheable 注解现在可以很容易地与 Hazelcast 一起使用。

http://www.hazelcast.com/docs/2.1/manual/multi_html/ch14s03.html

于 2012-05-06T15:35:18.090 回答
3

Spring 的 Cache 抽象由 Spring 3.1 引入,旨在缓存方法的结果,从而减少基于缓存中可用信息的执行次数。如果您想使用 EhCache 或 Hazelcast 作为 Hibernate 二级缓存,那么您应该使用 Hibernate 的配置(使用 Spring xml 或 Hibernate 注释)。Hibernate L2 缓存和 Spring 的缓存没有关系。

Spring 有两个开箱即用的缓存提供程序实现。来自官方文档:Spring Cache Abstraction

对于 JDK java.util.concurrent.ConcurrentMap 和 Ehcache,有两个开箱即用的集成。

目前 Hazelcast 没有内置的 Spring Cache Provider。但是在 Hazelcast 公共组上有一个简单的实现帖子。请参阅下面的链接;

将 Spring 3.1 可缓存注释与 Hazelcast 集成

于 2011-11-11T19:07:10.233 回答