캐시에 있는 객체의 중복 복사본을 방지하려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/92927

  •  01-07-2019
  •  | 
  •  

문제

저는 Memcache를 사용하여 웹 애플리케이션의 모델 계층에 대한 캐시를 설계하고 있는데, 가장 큰 문제 중 하나는 데이터 일관성입니다.다음과 같은 데이터 캐싱이 생각났습니다.(key = query, value = query의 객체 ID 목록) 목록의 각 ID에 대해 :(키=객체.id, 값=객체)

따라서 쿼리가 완료될 때마다 다음이 수행됩니다.쿼리가 이미 존재하는 경우 캐시에서 목록에 표시된 개체를 검색합니다.그렇지 않으면 목록의 모든 개체가 다른 이전 값을 대체하여 캐시에 저장됩니다.

누군가 이 대안을 사용했습니까? 신인가요?다른 아이디어는 없나요?

도움이 되었습니까?

해결책

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

귀하가 설명하는 캐싱 정책은 귀하의 도메인에 충분할 수 있습니다.그러나 오래된 데이터에 대해 걱정하지 않는 것 같습니다.종종 일부 엔터티에 대한 타임스탬프가 표시되기를 기대합니다. 캐시된 값이 일부 시스템 정의 매개변수보다 오래된 경우 오래된 것으로 간주되어 다시 가져옵니다.

캐싱 알고리즘에 대한 자세한 내용은 다음을 참조하세요. 위키피디아 (초보자용)

다른 팁

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top