2012-10-22 2 views
4

동시 리소스에 대해 경계해야하는 맵이 필요합니다. ref 유형이 내 경우에 적합합니다.
이제 코드에서 제거하는 것을 잊어 버릴 수있는 잠재적 항목을 제거하는 "time to live"정책이 필요합니다.
clojure.core.cache을 검사했지만 ref 유형으로 보호해야하는 데이터 구조가 안전한지 확실하지 않습니다.ref 형식으로 보호되는 Clojure core.cache를 사용하는 것이 안전합니까?

필자는 순수한 Clojure 솔루션을 선호하지만 상황이 복잡해지면 다른 접근 방법을 제안하겠습니까? 예를 들어 구글 구아바?

+0

"동시 자원에 대한 보호"란 의미를 설명해 주시겠습니까? – noahlz

+0

@noahz 많은 스레드가 사용하고 업데이트 할지도가 있습니다. 공유 리소스 – Chiron

+0

좋습니다. "ref 유형으로 보호 할 데이터 구조가 안전한지 확실하지 않습니다." 당신의 구체적인 관심사는 무엇입니까? – noahlz

답변

6

core.cache TTL 구현은 변경 가능하지 않으며 변경되지 않습니다. 동시 보증은 포함하는 참조 유형의 보증입니다. 그러나 캐시는 core.cache wiki에 설명 된대로 특정 방식 (프로토콜)으로 사용하기위한 것입니다.

+0

고마워요! 그것은 당신에게서 답장을받는 것이 영광입니다. – Chiron