이 페이지에서는 model에 포함된
persist_for매개변수를 참조합니다.
persist_for은 Explore의 일부로도 사용할 수 있으며, 이에 대한 설명은persist_for(Explore용) 매개변수 문서 페이지를 참고하세요.
persist_for는persist_for(파생 테이블용) 매개변수 문서 페이지에 설명된 대로 파생 테이블의 일부로도 사용할 수 있습니다.
사용
persist_for: "5 hours"
|
계층 구조
persist_for |
기본값
1시간
수락
정수 뒤에 시간대 (초, 분, 시간)가 오는 문자열
|
정의
쿼리 캐싱 문서 페이지에 설명된 대로
datagroup및persist_with를 대신 사용하는 것이 좋습니다.
persist_for를 사용하면 특정 Explore에 캐시된 쿼리 결과가 사용되는 시간을 수정할 수 있습니다. Looker의 기본 캐시 길이는 1시간입니다. 캐시 결과는 Looker 인스턴스에서 암호화된 파일에 저장됩니다.
Looker의 캐싱 메커니즘은 다음과 같이 작동합니다. 사용자가 특정 쿼리를 실행하면 이 쿼리의 결과가 캐시됩니다. persist_for에 지정된 간격보다 짧은 시간 내에 누군가 정확히 동일한 쿼리 (행 제한과 같은 사소한 사항을 포함해 모든 것이 동일해야 함)를 다시 실행하면 캐시된 결과가 반환됩니다. 그렇지 않으면 데이터베이스에 대해 새 쿼리가 실행됩니다.
persist_for 간격이 만료되면 캐시에서 데이터가 삭제됩니다. 캐시에 데이터가 저장되는 기간에 대한 자세한 내용은 쿼리 캐싱 문서 페이지를 참고하세요.
Explores는 persist_for도 지원합니다. Explore와 모델에 모두 persist_for 설정이 있는 경우 해당 Explore를 기반으로 하는 쿼리에는 Explore에 설정된 값이 우선 적용됩니다.
Explore에서 쿼리가 캐시에서 반환되었는지 확인할 수 있고 데이터베이스에서 새 결과를 강제로 생성할 수도 있습니다. 자세한 내용은 쿼리 캐싱 문서 페이지를 참고하세요.
예시
캐시 길이를 2시간으로 조정합니다.
persist_for: "2 hours"
캐시 길이를 30분으로 조정합니다.
persist_for: "30 minutes"
사용자가 쿼리에 대해 캐시된 결과를 가져오지 않도록 캐싱을 사용 중지합니다.
persist_for: "0 seconds"
고려사항
데이터는 항상 캐시에 기록됩니다.
persist_for이 0 seconds로 설정되면 사용자의 쿼리가 캐시에서 데이터를 가져오지 않습니다. 하지만 Looker는 내부 프로세스를 위해 디스크 캐시가 필요하므로 persist_for가 0 seconds로 설정된 경우에도 암호화된 데이터가 항상 캐시에 기록됩니다. 캐시에 기록된 다음에는 데이터에 삭제 플래그가 지정되지만 디스크에 최대 10분 동안 유지될 수 있습니다. 자세한 내용은 쿼리 캐싱 문서 페이지를 참고하세요.
persist_for이 데이터 가져오기와 반드시 일치하지는 않습니다.
많은 회사에서 분석 데이터베이스로 매일 데이터를 가져옵니다. 데이터가 지속적으로 업데이트되지 않는다면 최신 쿼리를 실행해도 소용이 없다고 생각하여 캐시 길이를 24시간 (예: persist_for: 24 hours)으로 설정하는 경우가 있습니다. 하지만 이렇게 하면 사용자가 가장 최근 새로고침보다 오래된 데이터를 가져오는 것을 방지할 수 없습니다.
예를 들어 1월 1일 정오에 쿼리를 실행하고 1월 2일 오전에 새 데이터를 가져온 다음 1월 2일 정오에 쿼리를 다시 실행한다고 가정해 보겠습니다. persist_for에 지정된 24시간 내에 쿼리가 실행되었으므로 1월 2일에 새 데이터가 로드되었더라도 1월 1일의 데이터가 반환됩니다.
캐싱을 데이터 가져오기와 동기화하려면 쿼리 캐싱 문서 페이지에 설명된 대로 데이터 그룹과
persist_with를 사용하세요.
예약된 Look은 결과를 캐시합니다.
예약된 Look이 실행되면 사용자가 실행한 쿼리와 동일한 방식으로 캐시된 결과 집합이 생성됩니다. 특정 Look을 미리 캐시하려면 Look을 저장하고 예약하는 것이 좋습니다.