2011-10-18 3 views
0

캐싱 데이터의 사용을 이해하려고합니다. 나는 그것에 대해 조금 알고있다. 브라우저에 정보를 저장하기 때문에 데이터로드가 빨라집니다.ajax, php 또는 jquery를 사용하여 정보를 캐시하는 방법은 무엇입니까?

누군가가 나를 더 잘 이해하는 데 도움을 줄 수 있으면 감사하겠습니다. 또한 입력 필드의 값을 캐시하고 검색하거나 나중에 사용하기 위해 저장할 수 있습니까? 그렇다면 누군가가 PHP, 아약스 또는 jquery로 구현할 수있는 방법의 샘플을 보여 주거나 튜토리얼을 안내해 줄 수 있습니까?

감사합니다.

+0

어떤 정보를 캐시에 저장하려고합니까? –

+0

텍스트를 캐싱하고 나중에 텍스트를 알아내어 검색 할 수 있습니다. – hellomello

+0

"텍스트"? 스크립트에서 사용 된 텍스트 에서처럼? –

답변

0

다릅니다. 항상 동일하기 때문에 거의 매번 이미지, CSS, JS를 캐시 할 수 있습니다. 아무 것도 할 필요가 없으며 자동으로 캐시해야합니다.

GET 및 POST 응답을 캐시 할 수도 있지만 약간 책임이 있습니다. 당신은 언제, 얼마나 자주 그것을 내야 하는지를 알아야합니다.

혼자 jQuery를에 의해 GET 요청에 캐시를 켜 이번 시즌의 패션은 고객의 컴퓨터에 데이터를 저장하는 로컬 스토리지를 사용하는 것입니다

$.ajax({ 
    'cache':true, 
    'url' :'ajax.php', 
    //and more parameters 

}); 
+0

입력 필드에서 텍스트 값을 캐시하려고합니다. 그것이 어떤 가치인지를 어떻게 알 수 있습니까? 입력 필드에 입력하면 그 값을 볼 수 있습니까? – hellomello

+0

웹 서버를 올바르게 구성하는 것을 제외하고 "아무 것도 할 필요가 없습니다" –

+0

@MichaelMior : 기본 (apache2) 서버가 올바른 응답 코드를 제공하고 결과를 올바르게 캐시합니다. – genesis

1

사용합니다. 예를 들면 다음을 참조하십시오. http://php-html.net/tutorials/html5-local-storage-guide/

+0

매우 흥미 롭습니다! 나는 아직 초보자이므로 html5 코딩에 익숙하지 않다. 예를 들어, 스토리지 (....) 인터페이스는 무엇을합니까? – hellomello

+0

@andrewliu이 인터페이스는 단지 localStorage 및 sessionStorage 객체에 의해 노출 된 메소드의 정의입니다. 그것은 http : //dev.w3에서 가져온 것입니다.org/html5/webstorage/그대로 있습니다. –

1

캐시는 데이터 소스 (데이터베이스, 하드 드라이브, 웹 리소스 등)와 해당 데이터 소스에 액세스해야하는 항목 사이에있는 항목입니다. 데이터 소스에서 직접 데이터에 액세스하는 것보다 캐시에서 데이터에 액세스하는 것이 더 빨리이되어야 이되는 것이 좋습니다.

나중에 사용하기 위해 텍스트 필드 값을 저장하려는 경우 (설정 세부 사항을 자세히 알지 못함) 쿠키를 찾고 있다고 생각합니다.

사용자가 텍스트 상자에 텍스트를 입력 할 때 javacript를 set a cookie으로 사용하십시오.

다음 번에 사용자가 페이지를 방문하면 javascript를 사용하여 텍스트 상자에 입력 한 내용을 검색하여 쿠키가 있는지 여부와 그 내용을 확인할 수 있습니다.

이 방법은 웹 서버가 아닌 사용자의 컴퓨터에 데이터를 캐시합니다. 이 값을 웹 서버에 저장하려면 사용자가 양식을 제출할 때 파일이나 데이터베이스에 입력해야하며 AJAX을 사용하면 입력 양식의 값을 PHP 백엔드에 비동기 적으로 보낼 수 있으므로 거기에 값을 저장할 수 있습니다.

조금 더 구체적으로는/저장 및 를 캐시하고 싶은에 관해서는 할 수 있다면 왜 당신이 그때 우리가 몇 가지 코드 예제와 함께 더 나은 품질의 답을 줄 수있는, 그 일을해야한다고 생각합니다.

문제가 무엇이며 해결책이 무엇을 기대하는지 정확하게 설명하십시오.

편집 : previous question에서 자동 완료 기능을 원한다고 생각됩니다.두 가지 유형이 있습니다

1) 자동 완성 사용자가 이전에 입력 것을 : 사용자가 양식을 제출하면

, 당신이 할 수있는 3 가지 중 하나를

A)의 텍스트를 저장 데이터베이스에 입력하십시오. 다음에 사용자가 페이지를 방문하면 PHP를 사용하여 이전 검색어를 자바 스크립트에 삽입합니다 (배열로 표시). 사용자가 텍스트 상자에 입력 할 때 javascript를 사용하여 자동 완성 상자를 표시합니다. (사용자 당 더 많은 양의 이전 입력을 저장할 예정이라면 사용자에게는 더 빠르다.)

b) 텍스트 입력을 데이터베이스에 저장한다. 사용자가 페이지를 방문하면 AJAX를 사용하여 입력 할 때 가장 가능성있는 일치 항목을 검색합니다. 사용자 당 저장된 검색이 많을 것으로 예상되는 경우 더 느립니다.

c) 텍스트 입력을 쿠키에 저장합니다. 사용자가 양식을 제출하면 입력 내용을 쿠키에 저장하십시오. 여러 쿠키에 여러 검색어를 저장하거나 1 개의 구분 된 쿠키에 1 검색어를 저장할 수 있습니다. 쿠키의 최대 크기 (이름 및 기타 세부 정보는 4K이므로 4000 바이트 미만으로 유지해야 함)에 유의하십시오.

참고 : 그런 식으로 구성된 경우 브라우저는 사용자가 이전에 입력 한 내용을 자동으로으로 자동 완성해야합니다. 이 유형의 자동 완성을 구현하려는 유일한 이유는 일종의 크로스 브라우저 또는 시스템 간 기능을 원할 때입니다.

2) Google 검색을 수행 할 때처럼 예측 자동 완성.

이 방법은 기본적으로 1b와 동일하게 작동합니다. 이전 또는 제안 된 검색어 목록을 데이터베이스에 저장합니다. 사용자가 입력 필드에 텍스트를 입력하면 AJAX 요청은 사용자가 검색하는 내용에 가장 적합한 후보를 가져옵니다.

+0

수백만 명의 사용자가있는 경우 사용자 입력이 데이터베이스에 저장되면 속도가 느려지지 않습니까? 사용자의 이전 입력에 대한 데이터베이스를 통한 서버 검색은 영원히 바랄 것입니까? – hellomello

+0

분명히 더 많은 정보를 검색할수록 길어집니다. 이 정보를 효율적으로 저장하기위한 몇 가지 고급 데이터 구조를 조사해야합니다. 언뜻 보면 나무 구조가이 목적에 더 적합한 것처럼 보입니다. – Ozzah

관련 문제