2016-09-23 3 views
0

나는 falcor 클라이언트 측에서 모델의 데이터를 캐싱한다는 것을 알고 있습니다. 애플리케이션 서버 측에서 데이터 소스로 fcorc 라우트를 구현해야한다. Falcor는 애플리케이션 서버 측에서 데이터를 캐시합니까? 그렇다면 어떻게? 감사합니다,Falcor는 서버 측에서 데이터를 어떻게 캐시합니까?

+0

나는 당신이이 [코드]를보고 취할 초대 (https://github.com보다, 데이터베이스 계층에서 처리됩니다/Netflix/falcor-router). –

답변

0

요컨대, falcor-router는 데이터를 캐시하지 않습니다. 단일 요청은 여러 경로로 해결 될 수 있으므로 라우터는 요청 당 캐시를 작성하지만 라우터가 요청에 응답을 마친 후에는 캐시가 삭제됩니다.

예. 다음 요청 :

method=get 
paths=[ 
    items[0..10]['id', 'name'], 
    items.length, 
] 

은 2 개 또는 3 개의 다른 경로로 해결할 수 있습니다. 이 모든 경로 요청을 해결하고 리턴 노드 (REF)를 다음까지

[items[{range}]] 
[items.length] 
[itemsById[{keys}] 

라우터 그래프 단편으로 각 경로 응답을 병합한다. 이 그래프 조각은 요청 당 캐시로 생각할 수 있지만 적어도 응답이 클라이언트에 반환 된 후에는 삭제됩니다 (또는 적어도 source code에서 해당 그래프 조각이라고 함).

이 몇 가지 의미 :

  • 서버/데이터가 무엇인지에 대한 지식이없는
  • 그래프 조각, 구체화 두 번 같은 쿼리를 실행 의미하지 않는 클라이언트에 아직없는 (가정 그것은 falcor 클라이언트 모델의 캐시에 충돌하지 않습니다) 동일한 쿼리를 실행합니다.

서버 측 캐싱 및 캐시 무효화 더 적절 아니라 라우터 층

관련 문제