我需要在我的应用程序中缓存一些数据,我正在考虑使用Ehcache。我有几个问题:
发布于 2016-04-29 09:35:58
我需要另一台服务器来完成Ehcache吗?
您可以在独立模式下使用Ehcache。在此拓扑中,缓存数据保存在应用程序节点中。因此,在这种模式下不需要另一台服务器。Ehcache还提供了另外两种模式
我需要另一个客户来处理Ehcache吗?
为了能够与Ehache通信,您应该使用Ehcache库。但是Spring提供了一个缓存抽象,使用起来更优雅,而且它的优点是独立于底层的缓存实现。因此,如果您使用Spring缓存抽象,您可以轻松地从Ehcache切换到,例如,Hazelcast。您可以在这里中阅读更多关于Spring缓存抽象的内容。
Spring Boot提供了spring-boot-starter-cache初学者包,只要启用缓存支持,它就会根据实现自动配置合适的CacheManager。
Ehcache如何处理多个实例?甚至可以使用Ehcache创建类似共享缓存的内容吗?
引用Ehcache文档
Ehcache提供进程内缓存,您可以跨多个节点复制该缓存。它也是BigMemory Go和BigMemory Max的核心,这是Terracotta的商业缓存和内存数据存储产品。由BigMemory Max提供的Terracotta支持进程内/进程外的混合配置和兆字节大小的缓存。有关Terracotta的BigMemory产品的信息,请参阅http://terracotta.org/documentation的BigMemory Go和BigMemory Max产品文档。
如前所述,Ehcache提供了一个免费的集群选项。对于这一要求,Redis和Hazelcast也是不错的选择。
发布于 2016-04-29 09:10:50
这些文件和例子应该回答你所有的问题:
https://spring.io/blog/2015/06/15/cache-auto-configuration-in-spring-boot-1-3 https://github.com/spring-projects/spring-boot/tree/1.3.x/spring-boot-samples/spring-boot-sample-cache
当然,您可以简单地在Spring应用程序中使用嵌入式EhCache。如果您想共享缓存,它取决于您的体系结构。您可以公开REST端点,以使其他应用程序可以使用缓存。
如果您想要一个分布式的、可伸缩的、高性能的缓存,那么您可能应该看看Hazelcast。
https://stackoverflow.com/questions/36934115
复制相似问题