it-swarm.dev

사용자 지정 기준에 따라 뷰 캐시를 무효화하는 방법은 무엇입니까?

해당 콘텐츠 형식의 노드를 나열하는보기에 스토리가 표시되는지 여부를 결정하는 datetime 필드가있는 사용자 지정 콘텐츠 형식 (story)이 있습니다. 노드에 대해 정의 된 datetime이 현재 datetime보다 최신이면 표시되지 않습니다.

내 문제는 가서 admin/config/development/performance를 비우고 Clear all caches를 클릭하거나 Cache pages for anonymous users를 선택 취소해야한다는 것입니다.

익명 사용자를 위해 페이지를 계속 캐싱하고 싶기 때문에 다른 옵션을 찾고 있습니다.

어떤 도움이라도 대단히 감사합니다.

4
Egil Hansen

문제는 뷰가 캐시되는 것이 아니라 전체 페이지가 캐시되는 것 같습니다. Drupal 전체 페이지가 캐시 된 경우보기가 캐시되었는지 여부는 중요하지 않습니다. 수행해야하는 작업은 페이지 캐시를 조건부로 비활성화하거나 Drupal 처음에 해당 페이지를 캐싱합니다.

첫 번째 작업을 수행하는 방법에 대해 몇 가지 talk 가 있었지만 이것은 내가 테스트했거나 조언 할 수있는 것이 아닙니다.

Drupal 캐싱 시스템을 엉망으로 만들면 예상치 못한 문제가 발생할 수 있습니다.

대안은 페이지 캐시를 비우거나 특정 페이지의 캐시를 하루/시간에 한 번 무효화하여 상대적으로 최신 상태인지 확인하는 것입니다. 이것이 내가이 상황에서 택할 경로 일 것입니다.

3
googletorp

우리 설정의 요구 사항이기 때문에 원하는 것을 정확하게 수행하는 부스트 패치가 있습니다. 문제는 외부 크롤러가 필요하다는 것입니다. 1,100 개의 도메인에서 30 초마다 새로운 콘텐츠를 확인하고 다시 크롤링합니다. 원하는 것은 할 수 있습니다. 그러나 나는 여전히 평균 설정에서 작동하도록 만드는 세부 사항에 대해 작업 중입니다. 이것은 또한 D6를위한 것이므로별로 도움이되지 않습니다.

간단히 말해서 시간이 다되었는지 확인하기 위해 외부 무언가가 필요합니다 OR 이것을 처리하는 settings.php의 일부 로직. 외부 무언가는 크론 일 가능성이 가장 높습니다.

1
mikeytown2