Cache e Escalabilidade de sistemas J2EE: Memcached vs Ehcache vs outras opções

Caros,
pergunto aos colegas experientes com soluções de cache visando escalabilidade de sistemas J2EE:
Existe alguma solução que seja considerada a melhor em Java?

      Consultando amigos ouvi falar muito de Memcached e comecei a estudar. No entanto, no meio do estudo me deparei com o Ehcache que me pareceu mais adequado para Java especificamente. Mais adiante, me deparei com diversas outras soluções (http://java-source.net/open-source/cache-solutions), cada uma se auto-descrevendo como a melhor solução. =/

       Alguém tem algum comentário/relato sobre as vantagens e desvantagens de cada uma das opções? Alguma recomendação embasada?

Obrigado de antemão!
Grande abraço!

Diego Alvarez Correia