2014-11-22 1 views
-1

Java 캐시 라이브러리는 어떻게 데이터베이스로 사용할 수 있습니까?Java 캐시를 데이터베이스로 사용 하시겠습니까?

나는 데이터베이스 대신 Ehcache 또는 JCS과 같은 것을 사용합니까?

Ehcache은 Enterprise Ehcache (유료 버전)에 대해서만 지속성 전략 = localRestartable을 지원합니까?

무료 버전은 데이터베이스 교체에 적합하지 않습니까?

UPDATE

왜 지속적인 캐시 데이터베이스 대체? dist 저장소를 사용하는 데이터베이스 엔진 작업과 캐시 작업 간의 주요 차이점은 무엇입니까?

다음은 neo4j (그래프 데이터베이스)와 Ehcache (캐시)를 비교 한 예입니다. http://vschart.com/compare/ehcache/vs/neo4j-community 비교해 볼 수 있습니다.

+0

캐시는 데이터베이스가 아닙니다. 영구 캐시조차도 데이터베이스가 아닙니다. 데이터베이스로 취급하는 경우 응용 프로그램 데이터를 잃게됩니다. 대신 NoSQL 키 - 값 저장소를 사용하십시오. –

+0

영구 캐시가 데이터베이스 대체가 아닌 이유는 무엇입니까? –

+0

나는 당신과 당신의 의견에 답했고, 당신은 여전히 ​​"나는 옳다"고 반복합니다. 하향 투표. 확신이 들면 질문하지 말아야하기 때문입니다. 당신의 * 밝은 * 아이디어를 시험해보고, 어떻게 작동하는지 보시고, 여기서 일어난 일에 스스로 대답 하시려면 여기로 돌아 오십시오. – SJuan76

답변

1

캐시는 데이터 액세스의 대기 시간을 줄이기 위해 메모리 사용량을 증가시키는 응용 프로그램 구성 요소입니다. 일반적으로 퇴거 개념과 결합되어 다른 곳에서 쿼리하거나 재구성 할 수있는 데이터를 보유한다는 가정이 있습니다.

이 두 가지 개념을 결합하면 캐시 구현자는 캐시 리소스 사용을 제한하거나 더 빈번한 액세스 패턴을 갖는 항목을 우선적으로 사용하거나 단순히 캐시를 사용하지 않도록 캐시에서 항목을 캐시에서 삭제할 수 있습니다 증가 된 대기 시간의 원천.

캐시가 데이터 저장소로 사용되어서는 안되는 주된 이유입니다.

이제 일부 캐시 구현에서는 퇴거를 방지하는 기능을 제공 할 수 있지만이 경우 데이터 저장소에 존재하지 않는 퇴거 논리/복잡성의 가격을 지불하게됩니다.

Ehcache 지속성과 관련하여 레거시 모드 overflowToDisk=truediskPersistent=true은 "JVM 다시 시작시 생존"지속성을 제공합니다. 그러나 적절한 종료에 매우 민감하며 시작시 손상을 감지하면 캐시는 모든 내용을 삭제하고 다시 비어있게됩니다. 위의 캐시 컨텍스트에서 이것이 유효한 옵션인지 확인하십시오.

관련 문제