2008-09-18 3 views
1

웹 응용 프로그램의 모델 계층에 대한 캐시를 설계하기 위해 memcache를 사용하고 있습니다. 가장 큰 문제 중 하나는 데이터 일관성입니다. (키 = 쿼리 값 = 객체 식별자의 목록은 쿼리의 결과)리스트의 각 ID에 대한 : (키 = object.id, 값 = 개체)캐시에있는 객체의 복사본이 중복되는 것을 피하려면 어떻게해야합니까?

그것은 다음과 같이 내 마음 캐싱 데이터에 온

그래서 쿼리가 완료 될 때마다 : 쿼리가 이미 존재하면 캐시에서 목록에있는 개체를 검색합니다. 그렇지 않으면 목록의 모든 개체가 다른 이전 값을 대체하는 캐시에 저장됩니다.

누군가이 대안을 사용하고 있습니까? 신입니까? 다른 아이디어?

+0

고마워요! 나는 PHP에서 개발 중이다. – Lucia

답변

1

캐싱은 정답이 하나도없는 주제 중 하나입니다. 이는 도메인에 따라 다릅니다.

설명하는 캐싱 정책으로 도메인에 충분할 수 있습니다. 그러나 오래된 데이터에 대해 걱정하지 않는 것으로 보입니다. 캐시 된 값이 일부 시스템 정의 매개 변수보다 오래된 경우에는 종종 엔티티 중 일부에 대한 타임 스탬프가 표시 될 것으로 예상되지만 부실로 간주되어 다시 페치됩니다.

캐싱 알고리즘에 대한 자세한 내용은 Wikipedia (우선)

0

동시성 프로그래밍의 세계에 오신 것을 환영합니다. mutual exclusion에 대해 조금 배우고 싶을 것입니다. 개발중인 언어/플랫폼을 알려 주시면 더 구체적으로 귀하의 옵션을 설명 할 수 있습니다.

관련 문제