我是否需要其他服务器进行Ehcache?
您可以在独立模式下使用Ehcache。在这种拓扑中,缓存数据保存在应用程序节点中。因此,在这种模式下,您将不需要其他服务器。Ehcache还提供了另外两种模式:
- 分布式 –数据保存在远程服务器(或服务器阵列)中,每个应用程序节点中保存有一部分最近使用的数据。此拓扑提供了一组丰富的一致性选项。在集群或横向扩展应用程序环境中,推荐使用分布式拓扑。它提供了最高水平的性能,可用性和可伸缩性。
分布式拓扑可作为Terracotta开源产品提供,没有客户端限制,但对Terracotta群集大小有限制。使用商用BigMemory
Max时,这些将被删除。
- 复制 -缓存的数据集保存在每个应用程序节点中,并且无需锁定即可在节点之间复制或使数据无效。复制可以是异步的也可以是同步的,其中传播发生时写线程将阻塞。此拓扑唯一支持的一致性模式是弱一致性。
我是否需要其他客户端来使用Ehcache?
您应该使用Ehcache库才能与Ehache通信。但是Spring提供了一个缓存抽象,它可以更优雅地工作,并且还具有独立于底层缓存实现的优点。因此,如果您使用Spring
Caching
Abstraction,则可以轻松地从Ehcache切换到Hazelcast。您可以在此处阅读有关Spring Caching Abstraction的更多信息。
Spring Boot提供了
spring-boot-starter-cache启动程序包,
CacheManager只要启用了缓存支持,它就会根据实现自动配置合适的启动程序包。
Ehcache如何与多个实例一起使用?甚至可以使用Ehcache创建类似共享缓存的内容吗?
引用Ehcache文档:
Ehcache提供了进程内缓存,您可以在多个节点之间进行复制。它还是Terracotta的商业缓存和内存中数据存储产品BigMemory
Go和BigMemory Max的核心。BigMemory
Max随附的Terracotta服务器阵列可实现具有TB级缓存的混合进程内/进程外配置。有关Terracotta的BigMemory产品的信息,请参阅http://terracotta.org/documentation上的BigMemory
Go和BigMemory Max产品文档。
如上所述,Ehcache提供了一个免费的群集选项。对于此要求,Redis和Hazelcast也是不错的选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)