我需要在我的应用程序中缓存一些数据,我正在考虑使用 Ehcache。我有几个问题:
- Ehcache需要另外一台服务器吗?
- 我需要其他客户端来使用 Ehcache 吗?
- Ehcache 如何与多个实例配合使用?是否有可能使用 Ehcache 创建类似共享缓存的东西?
Ehcache需要另外一台服务器吗?
您可以在独立模式下使用Ehcache。在此拓扑中,缓存数据保存在应用程序节点中。因此,在此模式下您不需要另一台服务器。 Ehcache还提供另外两种模式 http://www.ehcache.org/generated/2.10.2/html/ehc-all/#page/Ehcache_Documentation_Set%2Fco-top_topology_types.html%23:
-
分散式– 数据保存在远程服务器(或服务器阵列)中,每个服务器中保存最近使用的数据的子集
应用节点。该拓扑提供了丰富的一致性
选项。分布式拓扑是推荐的方法
集群或横向扩展的应用程序环境。它提供了
最高水平的性能、可用性和可扩展性。
分布式拓扑可用作Terracotta 开源产品 http://terracotta.org/downloads/open-source/catalog没有客户端限制,但对 Terracotta 集群大小有限制。使用商业广告时,这些内容将被删除大内存最大 http://terracotta.org/products/bigmemorymax.
-
复制的– 缓存的数据集保存在每个应用程序节点中,数据在节点之间复制或失效,无需
锁定。复制可以是异步的,也可以是同步的,
当传播发生时写入线程会阻塞。唯一的
该拓扑支持的一致性模式为弱一致性。
我需要其他客户端来使用 Ehcache 吗?
您应该使用 Ehcache 库以便能够与 Ehache 进行通信。但是 Spring 提供了一个缓存抽象,它使用起来更加优雅,并且具有独立于底层缓存实现的优点。因此,如果您使用 Spring Caching Abstraction,您可以轻松地从 Ehcache 切换到 Hazelcast。您可以阅读有关 Spring 缓存抽象的更多信息here http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.html.
春季启动 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-caching提供spring-boot-starter-cache
自动配置合适的启动包CacheManager
只要启用缓存支持,就可以根据实现进行。
Ehcache 如何与多个实例配合使用?是否有可能
使用 Ehcache 创建类似共享缓存的东西?
引用自Ehcache文档 http://www.ehcache.org/generated/2.10.2/html/ehc-all/#page/Ehcache_Documentation_Set%2Fco-over_what_is_ehcache.html%23:
Ehcache提供进程内缓存,您可以跨进程复制
多个节点。它也是 BigMemory Go 和 BigMemory 的核心
Max,Terracotta 的商业缓存和内存数据存储
产品。配备 BigMemory Max 的 Terracotta 服务器阵列
允许混合进程内/进程外配置
TB 级缓存。有关 Terracotta BigMemory 的信息
产品,请参阅 BigMemory Go 和 BigMemory Max 产品
文档位于http://terracotta.org/documentation http://terracotta.org/documentation.
如上所述,Ehcache 提供免费的集群选项。
对于这个需求,Redis 和 Hazelcast 也是不错的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)