2017-10-31 14 views
0

어느 것이 더 적합 할 지 모르는 상황입니다.캐쉬 시스템에 추가하기 전 또는 캐쉬 시스템에 추가하기 전에 데이터를 변환하십시오.

나는이 솔루션을 어디 축구 선수, 나는 단지 그들의 이름과 팀을 가지고 있지만, 사용자가 플레이어 내 웹 사이트에 및 클릭을 때 나는 자세한 정보를 사용하기위한 검색 플레이어에서 나는 다양한 외부 공급자 을 얻습니다. (대개 국가 별 기준).

전화가 걸려 올 때 사용할 외부 공급자를 알고 데이터를 수집 할 때마다 외부 공급자에게 비용을 지불하므로이 시간을 줄이기 위해 노력할 것입니다. 사용자가 플레이어 정보를 클릭하면 데이터베이스 캐시에 다음 번에 캐시 정보가 표시됩니다. 10 일이 지나면 정보가 어떻게 든 업데이트되기를 바라는 외부 공급자의 특정 플레이어 양식을 다시 가져옵니다.

난 내 자신의 구조에서 JSON으로, 일반적으로, 오는 다른 업체 데이터를 변환해야합니다 그래서 난 그것을 올바른 방법을 처리 할 수있는, 내가 내 자신의 개체 구조, 그래서 필드는 외부에서 오는 공급자는 동일한 명명 및 구조를 사용하여 항상 내 코드에서 내림/매핑/변형을 수행합니다.

따라서 내 문제는 은 공급자가 제공하는 데이터를 언제 매핑해야하는지 결정하는 것입니다..

  1. 은 내가/내 JSON 구조 기록에 그것을 변환 데이터베이스 캐시에 보관 시스템이 한 번 내 주요 구조 및 내 솔루션 코드 모든 I에 공급자에서 데이터를 잡아 필요는, 사용자가 축구 플레이어 세부 정보를 클릭 할 때마다 데이터베이스 캐시에서이 JSON 필드를 가져 와서 객체로 직접 변환합니다. 사용 방법은 알고 있습니다.
  2. 나는 내 데이터베이스 캐시 시스템에을 그대로 유지 공급자, 에서 데이터를 잡아, 내 솔루션 코드 매번 누군가가 내 데이터베이스 캐시에서 나는 JSON 기록을 얻을 축구 선수의 세부 정보를 얻을 수을 클릭 , 나는

개체 참고 내 이름과 구조를 위해을 변환 및 변환 : -이 캐시 데이터베이스입니다, 기록이 영원히 유지되지 않습니다 전화에서 나는 볼 경우 10 일이 넘는 기록을 남겼습니다. 적절한 외부 공급자의 데이터

답변

0

데이터를 캐시 할 레이어를 결정하는 것은 모든 자체 예술 형식입니다. 데이터를 캐시하는 계층이 높을수록 성능이 좋을 (재 처리가 덜 필요함) 재사용 가능성은 낮아집니다 (응용 프로그램의 각기 다른 부분이 동일한 캐시를 사용하고 그렇지 않은 경우 값을 찾습니다. 너무 많이 변형되었습니다).

당신의 경우도 마찬가지입니다. 공급자가 제공하는대로 저장하고 변형하는 방식을 변경해야하는 경우 다시 검색하기 위해 비용을 지불하지 않아도됩니다. 반면에 지금 필요한대로 저장하면 변환 방법을 변경하기로 결정하면 모두 삭제해야 할 수 있습니다.

모든 아키텍처 설계 결정과 마찬가지로, 모든 것이 절충안입니다. 귀하와 귀하의 신청서가 무엇보다 중요한지 결정해야합니다.

+0

감사합니다. @ rob-conklin ... 이것은 캐시입니다. 정보가 10 일 후에 제거 될 것입니다. Im은 비용보다 성능에 치열합니다 ... 변환/매핑 변경이 전체 캐시를 제거하면 변형이 변경됩니다. 그것은 거의 일어나지 않을 것입니다. – joaon1x