我需要在我的应用程序中缓存一些数据,我正在考虑使用Ehcache . 我有几个问题:
我需要另一台Ehcache服务器吗?
我需要另一个客户端与Ehcache合作吗?
Ehcache如何处理多个实例?甚至可以使用Ehcache创建共享缓存之类的东西吗?
Ehcache需要另一台服务器吗?
您可以在独立模式下使用Ehcache . 在此拓扑中,缓存数据保存在应用程序节点中 . 所以在这种模式下你不需要另一台服务器 . Ehcache还提供two other modes:
分布式拓扑以Terracotta open source offering的形式提供,没有客户端限制,但对Terracotta集群大小有限制 . 使用商业BigMemory Max时会删除这些内容 .
我是否需要其他客户与Ehcache合作?
您应该使用Ehcache库以便能够与Ehache通信 . 但是Spring提供了一个缓存抽象,它更优雅,并且还具有独立于底层缓存实现的优势 . 因此,如果您使用Spring Caching Abstraction,您可以轻松地将表单Ehcache切换到Hazelcast . 您可以在here中阅读有关Spring Caching抽象的更多信息 .
Spring Boot提供 spring-boot-starter-cache 启动程序包,只要启用了缓存支持,它就会根据实现自动配置合适的 CacheManager .
spring-boot-starter-cache
CacheManager
引自Ehcache documentation:
Ehcache提供进程内缓存,您可以跨多个节点进行复制 . 它也是BigMemory Go和BigMemory Max的核心,Terracotta的商业缓存和内存数据存储产品 . 随BigMemory Max提供的Terracotta服务器阵列支持使用TB级缓存的混合进程内/进程外配置 . 有关Terracotta的BigMemory产品的信息,请参阅http://terracotta.org/documentation上的BigMemory Go和BigMemory Max产品文档 .
如上所述,Ehcache提供了一个免费的群集选项 . 对于这个要求,Redis和Hazelcast也是不错的选择 .
文档和示例应该回答您的所有问题:
https://spring.io/blog/2015/06/15/cache-auto-configuration-in-spring-boot-1-3 https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-cache
您当然可以在Spring Boot应用程序中简单地使用嵌入式EhCache . 如果要共享缓存,则取决于您的体系结构 . 您可以公开REST endpoints ,以使缓存可供其他应用程序使用 .
如果你想要一个分布式,扩展,高性能的缓存,你可能应该看看Hazelcast .
2 回答
您可以在独立模式下使用Ehcache . 在此拓扑中,缓存数据保存在应用程序节点中 . 所以在这种模式下你不需要另一台服务器 . Ehcache还提供two other modes:
分布式拓扑以Terracotta open source offering的形式提供,没有客户端限制,但对Terracotta集群大小有限制 . 使用商业BigMemory Max时会删除这些内容 .
您应该使用Ehcache库以便能够与Ehache通信 . 但是Spring提供了一个缓存抽象,它更优雅,并且还具有独立于底层缓存实现的优势 . 因此,如果您使用Spring Caching Abstraction,您可以轻松地将表单Ehcache切换到Hazelcast . 您可以在here中阅读有关Spring Caching抽象的更多信息 .
Spring Boot提供
spring-boot-starter-cache
启动程序包,只要启用了缓存支持,它就会根据实现自动配置合适的CacheManager
.引自Ehcache documentation:
如上所述,Ehcache提供了一个免费的群集选项 . 对于这个要求,Redis和Hazelcast也是不错的选择 .
文档和示例应该回答您的所有问题:
https://spring.io/blog/2015/06/15/cache-auto-configuration-in-spring-boot-1-3 https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-cache
您当然可以在Spring Boot应用程序中简单地使用嵌入式EhCache . 如果要共享缓存,则取决于您的体系结构 . 您可以公开REST endpoints ,以使缓存可供其他应用程序使用 .
如果你想要一个分布式,扩展,高性能的缓存,你可能应该看看Hazelcast .