PHP에서 APC (대체 PHP 캐시)는 프로그램의 실행 효율을 향상시키는 데 도움이되는 매우 일반적인 캐싱 시스템입니다. APC는 캐시 된 스크립트, 캐시스 PHP 변수 등으로 디스크 I/O 작업을 줄여서 프로그램의 응답 속도를 향상시킵니다. APC는 개발자가 캐시 된 데이터에 쉽게 액세스하고 관리 할 수 있도록 일부 운영 인터페이스를 제공합니다. Apcuiterator 클래스는 APC 캐시의 모든 키 값 쌍을 가로 지르는 데 사용됩니다. apcuiterator :: 키 메소드는 현재 반복기가 가리키는 캐시 키 (키)를 얻는 데 도움이됩니다.
Apcuiterator 클래스는 APC 캐시를 효율적으로 통과하는 방법을 제공합니다. 배열 반복과 같은 반복기를 통해 캐시의 모든 항목에 액세스 할 수 있습니다. Apciterator 와 달리 Apcuiterator는 키, 값, 캐시 삭제 등과 같은 더 많은 기능을 제공합니다.
Apcuiterator :: 키 메소드를 통해 현재 반복기가 가리키는 캐시 항목의 키를 얻을 수 있습니다. 이 방법은 APC 캐시를 반복 할 때 각 캐시 항목의 키를 얻는 데 매우 적합합니다.
apcuiterator :: key () 메소드의 기본 함수는 현재 반복자 객체가 가리키는 캐시 항목의 캐시 키를 반환하는 것입니다. 이 방법을 사용하여 지정된 캐시 항목의 키에 액세스 한 다음 키 값에 따라 캐시 컨텐츠를 추가로 작동 할 수 있습니다.
<span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">key</span></span><span>(</span><span><span class="hljs-params"></span></span><span>): </span><span><span class="hljs-title">string</span></span><span>|</span><span><span class="hljs-title">int</span></span><span>;
</span></span>
반환 값 : 캐시 된 키 유형에 따라 현재 캐시 항목, 문자열 유형 또는 정수의 키를 반환합니다.
지정된 캐시 키에 해당하는 캐시 값을 얻으려면 다음 단계가 필요합니다.
apcuiterator 객체를 초기화하십시오 . 먼저, APC 캐시의 모든 항목을 Apcuiterator를 통해 통과해야합니다. 모든 캐시 항목을 반복할지 여부와 같은 필터 기준을 지정하여 특정 유형의 캐시 항목 만 지정하여 반복자의 동작을 설정할 수 있습니다.
키 메소드를 사용하여 현재 캐시 항목의 키를 얻으십시오 . apcuiterator :: key () 메소드를 사용하여 현재 캐시 항목의 키를 얻으십시오.
APC_Fetch를 통해 캐시 된 값을 얻으십시오 : 캐시 항목의 키가 얻어지면 APC_Fetch 메소드를 통해 해당 캐시 된 값을 얻을 수 있습니다.
획득 된 캐시 값 처리 : 캐시 된 값을 얻은 후에는 비즈니스 요구에 따라 추가 처리가 필요합니다.
다음은 특정 예제 코드입니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 확실하게 하다APC캐시가 활성화되었습니다</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">extension_loaded</span></span><span>(</span><span><span class="hljs-string">'apc'</span></span><span>)) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'APC확장이 활성화되지 않았습니다!'</span></span><span>);
}
</span><span><span class="hljs-comment">// 예제 캐시 데이터를 추가하십시오</span></span><span>
</span><span><span class="hljs-title function_ invoke__">apc_store</span></span><span>(</span><span><span class="hljs-string">'user_1'</span></span><span>, </span><span><span class="hljs-string">'John Doe'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">apc_store</span></span><span>(</span><span><span class="hljs-string">'user_2'</span></span><span>, </span><span><span class="hljs-string">'Jane Smith'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">apc_store</span></span><span>(</span><span><span class="hljs-string">'user_3'</span></span><span>, </span><span><span class="hljs-string">'Alice Johnson'</span></span><span>);
</span><span><span class="hljs-comment">// 만들다APCUIterator예,모든 캐시 항목을 반복하십시오</span></span><span>
</span><span><span class="hljs-variable">$iterator</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">APCUIterator</span></span><span>(</span><span><span class="hljs-string">'/^user_/'</span></span><span>); </span><span><span class="hljs-comment">// 트래버스 만 가정합니다'user_'처음에 캐시 키</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$iterator</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$entry</span></span><span>) {
</span><span><span class="hljs-comment">// 캐시 항목의 키를 얻으십시오</span></span><span>
</span><span><span class="hljs-variable">$key</span></span><span> = </span><span><span class="hljs-variable">$entry</span></span><span>-></span><span><span class="hljs-title function_ invoke__">key</span></span><span>();
</span><span><span class="hljs-comment">// 사용apc_fetch캐시 된 값을 얻으려면</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">apc_fetch</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>);
</span><span><span class="hljs-comment">// 출력 키 및 값</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"열쇠:<span class="hljs-subst">$key</span></span></span><span> => 값:</span><span><span class="hljs-subst">$value</span></span><span>\n";
}
</span><span><span class="hljs-comment">// 출력 예제:</span></span><span>
</span><span><span class="hljs-comment">// 열쇠:user_1 => 값:John Doe</span></span><span>
</span><span><span class="hljs-comment">// 열쇠:user_2 => 값:Jane Smith</span></span><span>
</span><span><span class="hljs-comment">// 열쇠:user_3 => 값:Alice Johnson</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
APC 캐시 초기화 : 먼저 APC_Store 메소드를 사용하여 일부 샘플 데이터를 추가했습니다. 캐시 키는 user_1 , user_2 , user_3 이고 해당 캐시 값은 다른 사용자 이름입니다.
Apcuiterator 사용 : New Apcuiterator ( '/^user_/')는 apcuiterator 인스턴스를 생성하고 정규식 /^user_/를 통해 캐시 키를 필터링합니다. 이런 식으로, user_ 로 시작하는 캐시 키 만 통과합니다.
Traversal Cache : Foreach 문을 통해 APC 캐시 항목을 Traverse, $ entry-> key ()는 현재 캐시 항목의 키를 반환합니다.
캐시 된 값 가져 오기 : APC_Fetch ($ 키)를 통해 현재 키에 해당하는 캐시 된 값을 가져옵니다.
출력 결과 : ECHO 문을 통해 출력 키 값 쌍.
apcuiterator :: key () 메소드는 현재 캐시 항목의 키만 리턴하므로 값을 가져와야하는 경우 apc_fetch () 메소드를 사용해야합니다.
apc_fetch () 메소드는 키가 존재하지 않을 때 False를 반환하므로 사용하면이 케이스를 처리해야합니다.
APC 는 메모리 기반 캐싱 시스템입니다. 그것을 사용할 때는 과도한 메모리 사용을 피하기 위해 캐시 청소 전략을 고려해야합니다.
apcuiterator :: key () 메소드를 통해 APC 캐시의 각 항목의 키를 쉽게 얻을 수 있으며 키에 해당하는 캐시 값은 APC_Fetch () 메소드와 함께 얻을 수 있습니다. 이 방법은 많은 양의 캐시를 가로 질러보다 효율적이고 유연하게 만들어지며, 특히 캐시 된 데이터에 자주 액세스하는 시나리오를 처리하는 데 특히 적합합니다.
관련 태그:
key