저는 memcache 및 app 엔진 (java)으로 작업하기 시작했습니다. 데이터 저장소에서 가져온 결과를 캐시 할 수있는 페이지가 있습니다. 예 :간단한 페이지의 기본 캐싱 전략은 무엇입니까?
// index.jsp
<%
List<Horse> horses = datastore.getHorses(PMF.get());
for (Horse it : horses) {
%>
<div><%= it.getName() %></div>
<%
}
%>
말 목록을 memcache에 넣을 수는 있지만 전체 페이지 내용을 캐시하는 것이 더 좋을까요? 다음에 사용자가이 페이지를로드하고 싶을 때 문자열로 캐시에 저장된 전체 HTML 컨텐트를 다시 뱉어 버리는 것을 의미합니까? 그것이 가능한지 아니면 좋은 습관인지 궁금합니다. 어쨌든 어떻게 해야할지 모르겠다. 모든 HTML 컨텐트를 하나의 거대한 문자열로 만든 다음 JSP로 print()하고 Memcache 같은 것으로 저장해야한다.
// index.jsp
<%
List<Horse> horses = datastore.getHorses(PMF.get());
StringBuilder sb = new StringBuilder();
for (Horse it : horses) {
sb.append("<div>");
sb.append(it.getName());
sb.append("</div>");
}
// Render contents.
<%= sb.toString() %>
// Also can store it in memcache for future requests.
memCache.put("test/index.jsp", sb.toString());
%>
감사합니다.
http://stackoverflow.com/questions/3217645/caching-contents-of-a-page 왜 두 가지 기본적으로 동일한 질문을 게시 했습니까? 다른 질문은 원래'jsp'와'servlet'으로 태그가 붙여졌습니다. 현재 질문에 태그를 추가하는 질문을 편집하면 더 많은 잠재 고객이 생깁니다 (여기에서는 사용자가 주로 태그로 찾아보기 만합니다). – BalusC
이 질문은 애플 리케이션 엔진에 특정한 것이 아니라고 생각합니다. 더 많은 것입니다. 어떻게 JSP 페이지의 전체 내용을 문자열로 가져 옵니까? StringBuilder 접근 방식을 사용하여 수동으로 처리해야합니까, 아니면 문서 끝에 PrintWriter로 밀어 넣은 모든 것을 잡을 수있는 방법이 있습니까? – user246114
나는 이미 다른 질문에서 대답했다. – BalusC