2012-07-02 4 views
4

클라이언트 측 영구 저장소를 사용하는 (HTML5) 웹 응용 프로그램에서 작업하고 있습니다.이 저장소는 서버와 주기적으로 동기화됩니다. 나는 최근에 백본을 보았습니다. js 그리고 매우 인상 깊었습니다. 그러나, 나는 (내 생각에 꽤 일반적인) 유스 케이스를 구현하는 방법에 대해 다소 혼란 스럽다.backbone.js 3- 웨이 모델 동기화

그래서 세 개의 별도 저장 영역이 있습니다. 메모리에있는 Backbone.Model 개체, 로컬 HTML5 SQL 저장소 및 서버 자체 backbone.js에 대한 독서는 항상 로컬/서버와 모델 사이의 양방향 동기화와 같습니다. 예 : backbone-websql 플러그인을 사용하면 로컬 저장소에 동기화 할 수 있지만 서버 동기화를 덮어 씁니다. 이 '세 가지'경우에 어떻게 접근해야합니까?

영구 저장 장치 (특히 서버)와 동기화 할 때 수정 된 레코드 만 반환하거나 업데이트 할 수 있도록 마지막 수정 날짜가있는 모든 관련 현재 레코드 ID를 보내야합니다. 그러나, 내 독서에서, 전체 레코드는 쿼리 중에 서버로 보내지는데, 이는 내 경우에는 너무 많은 데이터입니다. 어떻게 해결할 수있는 아이디어가 있습니까?

답변

1

Backbone.sync backbone-websql과 같은 어댑터에서 Backbone.sync 메서드를 재정의하는 규칙이 있습니다. 메모리 간 동기화를 위해 원래의 동기화 기능을 저장 한 다음 플러그인을 추가하십시오. "Last Modified"로직은 Backbone.sync에서도 쉽게 구현할 수 있습니다.