Spring ehcache vs Memcached?

我曾使用ehcache处理过弹簧问题.对我而言,暴露的不同API集及其实现也是如此.

它们之间提供的功能有何不同
除了API /实现?

更新: – 我已经看过Hibernate EHCache vs MemCache,但这个问题主要来自hibernate的观点,但我的问题一般是任何缓存服务.对该问题的回答还表明,在功能方面没有太大差异

解决方法:

除了你提到的API差异之外,这里的主要区别在于memcached存在于不同的进程中,而Ehcache是​​JVM的内部 – 除非配置为存储在磁盘或集群中.

这主要意味着使用Memcached,您始终需要对象的序列化版本,并始终与远程或非远程的不同进程进行交互.

Ehcache和其他基于JVM的缓存解决方案最初从基于堆的缓存开始,它允许查找只是处理对Java对象的引用.

当然这意味着对象会继续存在于Java堆中,从而增加内存压力.对于Ehcache 3.x,您可以选择移至offheap memory及更高版本,允许在不影响JVM堆的情况下增加缓存.

此时,Memcached的好处可能是您希望非Java客户端访问它.

而最终的决定权掌握在你手中.缓存消耗内存以提供减少的延迟.对你有用的东西可能与对别人有用的东西不同.你必须衡量和决定.

上一篇:java – @Cachable注释不起作用


下一篇:java – 何时使用新的缓存名称?