캐싱을 완전히 끄는 방법?


26

Drupal 7에서 사이트를 개발 중이며 캐싱으로 인해 작업 속도가 크게 느려집니다. 예를 들어 양식에 대한 테마 기능이 있습니다. 나는 의아해했다. 왜 안되지? 캐시를 지울 때까지 수정되었습니다.

완전히 끄는 방법?

답변:


21

테마 기능은 테마 레지스트리에 의해 처리됩니다. 새로운 테마 기능을 선택하기 위해 모든 사이트 캐시를 재 구축 (또는 더 이상 사용 중지)하는 것은 불필요하며 과도합니다.

할 수있는 일은 Devel 모듈을 사용하여 매 페이지를 다시로드 할 때마다 테마 레지스트리를 다시 작성하는 것입니다. 설치되면 구성 → 개발 → 개발 설정으로 이동하십시오. "페이지를로드 할 때마다 테마 레지스트리를 다시 작성하십시오"를 선택하고 "구성 저장"단추를 누르십시오. 개발이 끝나면 선택을 해제하거나 더 나은 기능을 완전히 비활성화하십시오.


이것은 테마 레지스트리 일뿐입니다.
Andrew Welch

2
문제는 "완전히 끄는 방법"입니다. 이것은 그것의 한 부분
일뿐입니다

29

기본 캐시 백엔드를 실제로 수행하지 않는 것으로 대체 할 수 있습니다. settings.php 파일에 추가하면됩니다.

if (!class_exists('DrupalFakeCache')) {
  $conf['cache_backends'][] = 'includes/cache-install.inc';
}
// Default to throwing away cache data.
$conf['cache_default_class'] = 'DrupalFakeCache';
// Rely on the DB cache for form caching - otherwise forms fail.
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';

성능 페이지에서 캐시 만료 시간을 없음으로 설정하십시오.

실제로 settings.local.php 파일에서 이것을 사용합니다. 존재하는 경우 settings.php 파일의 맨 아래에 포함되므로 라이브 또는 스테이징 환경에서 내 환경에 대한 걱정없이 걱정없이 settings.php를 동기화 할 수 있습니다 잘못된 데이터베이스 설정 사용, 실수로 개발자 설정을 실시간으로 푸시하는 등

settings.php :

if (file_exists(__DIR__ . '/settings.local.php')) {
  require_once __DIR__ . '/settings.local.php';
}

4
동일한 트릭을 사용하여 빈당 캐싱을 끌 수 있습니다. 예 : $conf['cache_class_cache_metatag'] = 'DrupalFakeCache';
Alfred Armstrong

4
수락 된 답변은 테마 레지스트리 캐시를 비활성화하는 방법 만 설명하고 모든 캐시가 아닌 방법을 설명하기 때문입니다.
mastazi

10

모든 캐싱을 완전히 해제 할 수는 없습니다 . 당신이 실제로 그랬다면, 그것은 당신의 진행을 늦출 것 때문에 훨씬 더. 실제로 캐시를 지우는 데 걸리는 시간을 고려하십시오. 즉, 모든 단일 페이지로드와 같습니다.

사용 가능한 엔티티, 필드, 양식, 구현 된 후크 등에 대한 정보를 작성하기 위해 실행중인 후크가 너무 많아 현재 한 번만 실행하면되므로이를 방지하고 싶지 않습니다.

Drupal에 익숙해 짐에 따라 캐시가 필요한 것이 무엇인지 곧 알게 될 것이며 아마도 관리자 메뉴 바로 가기 또는에 익숙해 drush cc all질 것이므로 더 이상 문제가되지 않습니다.


대부분의 새로운 후크에 캐시가 필요하다는 사실을 알고 나면 매끄럽게 항해하는 것으로 인식됩니다! :)
Alex Weber

2
솔직히 Drupal 개발 몇 달 후에도 여전히 이것이 문제라고 생각합니다. 로컬 속도를 개발하는 것은 중요하지 않지만 동시에 여러 명의 사용자가 동시 요청을 보내는 것은 아닙니다. 로컬에서 개발하는 동안 캐시를 비활성화하는 대부분의 다른 프레임 워크 (Django, Symfony 등)는 쉽게 사용할 수있는 옵션이므로 Drupal에서도 왜 그렇게 할 수 없는지 알 수 없습니다. 매일 무언가가 작동하지 않는 인스턴스가 하나 이상 있으며 그 이유는 캐시 정리를 잊어 버렸기 때문에 실제로 발생하며 실제로 귀찮게합니다.
mastazi

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.