순서 / 속성을 변경할 수있는 페이지 매김 검색 결과를 캐싱하는 가장 좋은 방법은 무엇입니까?
내 응용 프로그램에서 누군가가 마지막 20 개의 토론 스레드 (1 만 개 중)를보고 싶어한다고 가정 해보십시오. servlet
토론 스레드 테이블에서 처음 20 개의 레코드를 XML / JSON으로 가져 오기 위해을 통해 요청이 데이터베이스에 전송됩니다 . 그런 다음 다음 20 개를 보려면 다음 결과 페이지로 이동하여 다음 로트를 얻기위한 다른 요청을 시작합니다 (한계 및 오프셋 = 20 등).
서버로드와 클라이언트 대기를 줄이기 위해 이전 페이지의 결과를 캐시하고 싶습니다. 그러나 두 가지 질문이 있습니다.
- 결과가 표시되는 테이블은 둘 이상의 속성 (예 : 스레드 작성 날짜, 스레드 작성자, 최종 날짜)으로 정렬 될 수 있습니다. 이것은 '처음 20 개의 결과'와 같은 문장이 문맥없이 의미가 없다는 것을 의미합니다 (즉, 우리가 주문한 것). 그러면 프런트 엔드가 이미로드 된 내용을 백엔드와 어떻게 통신합니까? 내 첫 번째 생각은 각 결과에 ID를 사용하는 것이지만 후속 요청에서 서버로 다시 전송하고 결과를 기반으로 결과를 필터링하는 것은 모든 것을 맹목적으로 다시 보내는 것만 큼 시간이 많이 걸립니다. 어떻게해야합니까?
- 이전에 반환 된 결과의 속성 (예 : 가장 최근 포스트 날짜)이 변경된 경우 어떻게됩니까? 그런 다음 각 결과를 확인하여 페이징 된 이후 서버 측에서 수정되었는지 확인해야합니다. 어떻게해야합니까?