1

直接引用 ehcache 的网站[来源]

这里的想法是您的缓存设置在缓存层次结构中。Ehcache 位于前面,memcacheg 位于后面。将这两者结合起来,您可以优雅地解决 Google App Engine 施加的限制。您将受益于 Ehcache 的速度以及无限大小的 memcached。Ehcache 包含可以轻松执行此操作的挂钩。要更新 memcached,请使用 CacheEventListener。要在本地缓存未命中时搜索 memcacheg,请将 cache.getWithLoader() 与 CacheLoader 一起用于 memcacheg。

这似乎意味着将 ehcache 与 memcached 一起使用会比单独使用 memcached 更快。为什么 ehcache 会比 memcached 快?在我看来,两者都在内存缓存中,为什么会有性能差异?

4

1 回答 1

1

Ehcache经常和应用运行在同一个jvm进程中,所以不需要序列化和io开销。

将 Ehcache 与 memcached 一起使用时,一些对象存储在 ehcache 堆中,而另一些对象存储在 memcached 中。所以混合使用 ehcahe 和 memcached 会比只使用 memcached 更快。

在同一个 JVM 进程中运行 ehcache 和应用程序是一种以 RAM 空间换时间的方式,但不能将太多数据放入 ehcache,因为需要考虑服务器之间的复制。

于 2013-12-11T06:25:40.933 回答