PHP 캐싱 기술의 다양한 방법 요약
여기서 언급된 데이터 캐싱은 페이지에 액세스할 때마다 해당 캐시된 데이터가 존재하는지 여부를 먼저 감지하는 데이터베이스 쿼리 PHP 캐싱 메커니즘을 나타냅니다. 그렇지 않은 경우 데이터베이스에 연결하여 데이터를 얻고 쿼리 결과를 직렬화하여 파일에 저장합니다. 앞으로도 동일한 쿼리 결과를 캐시 테이블이나 파일에서 직접 얻을 수 있습니다.
1. 범용 캐싱 기술:
데이터 캐싱: 여기에 언급된 데이터 캐싱은 페이지에 액세스할 때마다 먼저 해당 캐시가 있는지 감지하는 데이터베이스 쿼리 PHP 캐싱 메커니즘을 나타냅니다. 데이터가 존재하지 않으면 데이터베이스에 연결하여 데이터를 얻은 다음 쿼리 결과를 직렬화하여 파일에 저장합니다. 나중에 동일한 쿼리 결과를 캐시 테이블이나 파일에서 가져옵니다. 가장 널리 사용되는 예는 Discuz의 검색 기능으로, 다음에 동일한 키워드를 검색할 때 결과 ID를 테이블에 캐시하고 캐시 테이블을 먼저 검색하는 기능입니다. 일반적인 방법으로 여러 테이블을 연결하면 첨부된 테이블의 내용이 배열로 생성되어 기본 테이블의 필드에 저장됩니다. Brothers in Arms의 편집자는 필요할 때 배열을 분해한다는 점을 상기시킵니다. 하나의 테이블만 읽을 수 있다는 점입니다. 단점은 두 데이터를 동기화하는 데 더 많은 단계가 있다는 것입니다. 데이터베이스는 항상 속도를 위해 병목 현상이 발생합니다.
2. 페이지 캐싱:
페이지에 액세스할 때마다 해당 캐시된 페이지 파일이 존재하는지 먼저 감지하고, 존재하지 않는 경우 데이터베이스에 연결하여 데이터를 가져옵니다. , 페이지를 표시하는 동시에 다음에 방문할 때 페이지 파일을 사용할 수 있도록 캐시 페이지 파일을 생성합니다. (템플릿 엔진과 인터넷에 있는 일부 일반적인 PHP 캐싱 메커니즘 클래스에는 일반적으로 이 기능이 있습니다.)
3. 시간 트리거 캐싱:
파일이 존재하는지, 타임스탬프가 설정된 것보다 작은지 확인하세요. 파일의 수정된 타임스탬프가 현재 타임스탬프에서 만료 타임스탬프를 뺀 값보다 크면 캐시가 사용되고, 그렇지 않으면 캐시가 업데이트됩니다.
4. 콘텐츠 트리거 캐싱:
데이터가 삽입되거나 업데이트되면 PHP 캐시 메커니즘이 강제로 업데이트됩니다.
5. 정적 캐시:
여기서 언급하는 정적 캐시는 HTML이나 XML 등의 텍스트 파일을 직접 생성하고 업데이트가 있을 때 다시 생성하는 정적 캐시를 말하며, 이는 애플리케이션에 적합합니다. 페이지는 많이 바뀌지 않습니다. 여기서는 이에 대해 이야기하지 않겠습니다.
위 내용은 코드 수준의 솔루션입니다. 다음 내용은 코드 수준이 아니며 여러 당사자의 협력이 필요합니다.
6. 캐시:
Memcached는 고성능 분산 메모리 객체 PHP 캐싱 메커니즘 시스템으로, 동적 애플리케이션에서 데이터베이스 로드를 줄이고 액세스 속도를 향상시키는 데 사용됩니다.
7. PHP 버퍼:
eaccelerator, apc, phpa, xcache에 대해서는 언급하지 않겠습니다. 문제는 없습니다.
8. MYSQL 캐시:
이것도 비코드 수준으로 간주됩니다. 클래식 데이터베이스에서는 이 방법을 사용합니다. 아래의 실행 시간은 0.09xxx 등입니다.
9. 역방향 프록시 기반 웹 캐시:
Nginx, SQUID, mod_proxy 등(Apache2 이상은 mod_proxy와 mod_cache로 구분됩니다.)
10. >
BIND는 오픈 소스 DNS 서버 소프트웨어입니다. 이것은 직접 검색해 보면 알 수 있습니다.
일부 대형 웹사이트에서는 이렇게 하는 것으로 알고 있습니다. 간단히 말하면 동일한 페이지나 파일이 서로 다른 서버에 캐시되어 북쪽과 남쪽에 따라 해당 서버로 자동 파싱되는 것입니다.