2012-09-15 1 views
0

전체 저장된 데이터를 검색하기 전에 일시적 현상이 존재하는지 확인하는 방법이 있습니까?WordPress에서 전체 데이터를 검색하지 않고 일시적으로 존재하는지 확인하십시오.

if (false === ($value = get_transient('value'))) { 
    // this code runs when there is no valid transient set 
} 

을하지만이 가능한 경우 검색된 데이터가 사용되는 것으로 가정한다 : 저장된 과도 값이 성공적으로 검색되어 있는지 여부를 확인하려면이 페이지 http://codex.wordpress.org/Transients_API에 따르면,

은, 다음과 같은 코드가 사용됩니다. Transient API를 사용하여 수백 개의 웹 페이지를 캐싱하고 캐시가 아직 있는지 확인해야하는 경우 모든 데이터를 검색하는 것은 실용적이지 않습니다. 나는 그것이 속도와 기억에 어떻게 영향을 미치는지는 모르겠지만, 일반적으로 크기가 클수록 속도는 느려지고 더 많은 기억을 소비한다.

따라서 저장 여부를 확인하는 간단한 방법이 있는지 궁금합니다. empty() 기능을 사용하십시오.

정보를 제공해 주셔서 감사합니다.

답변

4

이것은 만료 시간 만 검색합니다.

$your_transient = 'your_transient'; 
$data_timeout = get_option('_transient_timeout_' . $your_transient); 
if ($data_timeout < time()) 
    echo 'it is expired.'; 
else 
    echo 'there is a transient'; 
+0

이 솔루션을 다른 환경에서 실행될 플러그인/테마로 사용하려는 경우 APC 또는 memcache를 사용하여 사이트에 몇 가지 문제가 발생할 수 있습니다. APC/Memcache는 메모리에 데이터를 저장하기 때문에이 스 니펫은 항상 일시적으로 만료되었다고 말할 수 있습니다. – sven

2

(! get_transient ('value'))이 작업을 수행해야하는 경우 일시적 상태가 존재하는지 또는 만료되었는지 확인합니다.

+3

데이터베이스에서 데이터를 내부적으로 검색합니다. 추억과 서버 응답에 영향을주지 않습니까? – Teno

관련 문제