第三方缓存软件 - 它们提供了什么?

maf*_*lda 6 java caching

为什么要使用开箱即用的缓存产品,如ehcache或memcached?

不是一个简单的hashmap吗?我理解这是一个天真的问题,但我希望看到一些关于何时一个简单的hashmap足够并且第三方缓存解决方案过度的答案.

too*_*kit 4

Ehcache 可以给你一些东西,但你必须使用 HashMap 自己管理。

驱逐政策。如果您的数据永远不会增长,则无需担心。但如果您想防止内存泄漏最终破坏您的应用程序,那么您需要驱逐策略。使用 ehcache,您可以配置缓存中元素的生存时间和空闲时间。

使用 Terracotta 进行集群缓存。如果您有多个 tomcat 用于故障转移/可扩展性,那么您可以将 Ehcache 连接到 Terracotta 集群,以便所有实例都可以在需要时看到相同的数据。

透明磁盘溢出 - 无论是在 tomcat 服务器上,还是在 terracotta 集群上。当数据无法装入堆时。

堆外存储。BigMemory 等新技术意味着您可以访问更大的内存缓存,而无需 GC 开销。

并发性。Ehcache 可以使用 ConcurrentDistributedMap 在集群配置中提供最佳性能。

这只是冰山一角。