2009-12-02 3 views
2

캔버스에 많은 위젯과 타일을 그리는 애플리케이션을 만들고 있습니다. 핵심 UI는 긴 문자열로 정의되고 자바 스크립트에 의해 페이지로드시 그려집니다. 핵심 UI가 250K 이상으로 커지지 않기 때문에 캐시하는 것이 좋습니다.자바 캐싱 질문

필자는 파일 상단의 변수에 막대기를 붙일 수 있지만 더 효율적인 방법이 있습니까? 좋아요 작성한 경우 :

var img = new Image(); img.src = 'moose.png'

브라우저가이 이미지를 다운로드하고 캐시하는 것으로 가정하므로 후속 요청에서 내 서버에 다시 도달 할 필요가 없습니다. 그러나 텍스트의 덩어리로 어떻게 할 수 있습니까?

편집 : "약 20 페이지에 AAAABBBCBVBVNCNDGAGAGABVBVB .... 등"

var에 myUI =; 기본적으로 나는이에 대한 대안을 찾고 있어요
+0

어떤 서버 기술을 사용하고 있습니까? PHP, Ruby on Rails? –

+0

파일은 PHP에 의해 생성되었지만 중요해야합니까? 정말 긴 문자열의 클라이언트 측 캐싱에 대해 이야기하고 있습니다. – LoveMeSomeCode

답변

2

텍스트 문자열을 포함하는 JavaScript 파일을 만들 수 있습니다. 당신은 UI를 렌더링하는 데 사용할 자바 스크립트 다른 어떤 얹는

<script src="/ui.initialization.js" type="text/javascript"></script> 

:

var text='.....'; 

는 그런 다음 스크립트가 포함되어 단지 수 있습니다. 브라우저가 js 파일을 캐시합니다.

편집 난 당신이 텍스트 인라인의 긴 문자열을 가진 반대하고 있으리라 믿고있어

. 이 파일을 별도의 파일로 이동하면 브라우저에서 캐시 할 수 있습니다 (실제로 정적 인 경우 서버가 정적 자원에 대해 적절한 캐시 제어로 구성됨).

일부는 information for tweaking caching on Apache입니다 (Apache에서 PHP를 실행 중이라고 가정합니다).

+0

감사합니다. 정확히 내가 찾고있는 것입니다! – LoveMeSomeCode

+0

어떻게 작동합니까? 브라우저가 첫 번째 줄을 보는 경우 JS 파일을 캐시하는 이유는 무엇입니까? 아무도 이것에 관한 링크를 줄 수 있습니까? – Manish

0

대부분의 정적 리소스는 브라우저에서 캐시 할 수 있습니다. .txt, .dat, .xml 또는 기타 (심지어 .js)에 데이터를 넣고 AJAX를 통해 자바 스크립트로로드하면됩니다.

+0

그래서 JS와 같은 이야기를하고 있습니까? 예를 제공해 주시겠습니까? – LoveMeSomeCode

+0

@LoveMeSomeCode : ㅎ, "JS include"는 '태그 자체입니다. .Txt, .dat, .xml 등과 같은 @ Peter의 다른 파일 제안과 함께 간다면 AJAX 만 필요합니다. –

0

1Mbps 이상으로 250K를 다운로드하는 시간은 1 분 2 초입니다. 이것은 1 시간입니다.

250K 수하물이있는 자바 스크립트가 포함 된 파일은 아마도 캐시 될 것입니다.

0

당신은 FF 3.5 및 다른 사람에 의해 지원 구글 기어 또는 새로운 HTML 5 데이터 저장 기능을 사용할 수 있습니다.

0

사용 Google 페이지 속도 또는 YSlow에 당신이 할 수있는 다른 (HTTP) improvments 알아낼 수 있습니다.