2017-02-24 1 views
2

나는 ehcache를 사용하여 봄 카페인을 연구했다. 나에게 그것은 노출 된 다른 API 세트와 그 구현과 동일하다.봄 ehcache 대 Memcached?

API/구현을 제외하고는 사이에 제공되는 기능상의 차이점은 무엇입니까?

업데이트 : - 나는 이미 Hibernate EHCache vs MemCache을 보았지만이 질문은 주로 최대 절전 모드의 관점에서 비롯된 것이지만 내 질문은 일반적으로 모든 캐싱 서비스에 대한 것입니다. 이 질문에 대한 답변은 기능면에서 큰 차이가 없다고 말했습니다.

+0

이 질문을 확인하십시오 http://stackoverflow.com/questions/14029366/hibernate-ehcache-vs-memcache – Neeraj

+0

@neeraj 나는 그것을 게시하기 전에이 질문을 보았습니다. 실제로 그 질문은 동면하는 관점에서 나온다. 제 질문은 일반적으로 캐싱 서비스가 무엇입니까 –

답변

2

여기서 주목할만한 차이점은 Ehcache가 JVM 내부에있는 동안 memcached가 다른 프로세스에있는 것입니다. 디스크 또는 클러스터에 저장하도록 구성된 경우가 아니면

주로 Memcached를 사용하면 이 항상에 직렬화 된 개체 버전이 필요하며 항상 원격 또는 다른 프로세스와 상호 작용한다는 것을 의미합니다.

Ehcache 및 기타 JVM 기반 캐싱 솔루션은 초기에 온 - 힙 기반 캐시로 시작하여 조회가 Java 객체에 대한 참조를 처리하는 것에 불과합니다.

물론 이것은 객체가 Java 힙에 계속 머물러있어 메모리 부족을 초래한다는 것을 의미합니다. Ehcache 3.x의 경우 offheap memory 이상으로 이동하여 JVM 힙에 영향을주지 않고 캐시를 확장 할 수 있습니다.

Memcached의 이점은 비 Java 클라이언트가 액세스하도록하려는 것일 수 있습니다.

그리고 최종 결정은 실제로 당신 손에 달려 있습니다. 캐시는 대기 시간을 줄이기 위해 메모리를 소비합니다. 당신에게 효과가있는 것은 다른 사람들에게 효과가있는 것과 다를 수 있습니다. 당신은 측정하고 결정해야합니다.

+0

'다른 프로세스에서의 memcached의 삶 '이 필수라고 할 때? 웹 서버에서와 같은 jvm 프로세스에서 함께 사용하려면 어떻게해야합니까? 또한 물론 이것은 객체가 자바 힙에 계속 머물러있어 메모리 압박이 증가한다는 것을 의미한다고 말했다. 내 요점은 그 ehcache 또는 memcached 여부, 개체가 힙에 저장됩니다. 유일한 차이점은 memcached 일 때, heap은 프로세스를 분리하는 것입니다. 그렇지 않니? –

+0

Memcached의 이점은 비 자바 클라이언트가 객체에 액세스 할 수있게하려는 것일 수 있습니다. memcached는 비 자바 클라이언트가 객체에 액세스 할 수 있도록 웹 서비스를 노출합니까? –

+2

Memcached는 Java 프로그램이 아닙니다. 그것은 독립형 서버입니다. 따라서 힙에 저장하지 않습니다. 예. Memcached는 독점적 인 API를 가지고 있습니다. 하지만 원하는 언어로 클라이언트를 찾아야합니다. Ehcache가 기억에 남았을 때, 당신은 클라이언트 (테라코타 클러스터와 대화하는 데에도 사용됩니다)를 가지고 있습니다. – Henri

관련 문제