it-swarm-ko.tech

개발 배포를 위해 캐시를 끌 수 있습니까?

개발 플랫폼에서 캐싱은 어려울 수 있습니다. 끌 수 있습니까? 필요한 모듈에 영향을 줍니까?

23
palbakulich

관리자를위한 캐시 지우기 옵션을 추가하는 devel module 을 설치하십시오. 빠른 캐시 지우기를 위해 영역에 추가 할 devel 블록을 찾거나 admin men 를 설치하고 왼쪽 상단에 Drupal의 다양한 캐시를 지우는 빠른 메뉴가 표시됩니다.

명령 행을 좋아한다면 drush 를 설치하고 drush cc all 명령으로 사이트 캐시를 지우십시오. cc가 현재 설정에 적용되는 경우 cc를 삭제해도 Varnish 캐시가 지워지지 않습니다.

20
budda

Drupal 7을 사용하는 경우 항상 설치 프로세스 중에 만 사용되는 DrupalFakeCache를 사용하여 캐싱을 설정할 수 있습니다.이를 설정하려면 settings.php에 다음 코드 스 니펫을 삭제하십시오.

include_once(DRUPAL_ROOT . '/includes/cache.inc');
include_once(DRUPAL_ROOT . '/includes/cache-install.inc');
$conf['cache_default_class'] = 'DrupalFakeCache';
9
Mikey P

관리> 사이트 구성의 '성능'페이지에서 선택한 사이트 요소의 캐싱을 활성화/비활성화 할 수 있습니다. 테마 템플릿은 일반적으로보다 영구적으로 캐시되지만 동일한 '성능'페이지 내에서 비울 수 있습니다.

'관리 메뉴'모듈은 캐시 플러시를보다 정기적으로 수행 해야하는 경우 도구 모음에 바로 가기를 제공합니다. 테마 개발 중에 끊임없이 플러시를 찾습니다.

4
Storsey

내가 아는 한 require 캐싱하는 모듈이 없습니다. 사용하지 않으려면 Site Settings > Performance 부분.

캐싱이 비활성화 된 경우에도 Drupal은 캐시를 지울 때까지 테마에 추가 된 새 파일을 인식하지 못합니다.

Drupal.org 에서 캐시를 지우는 여러 가지 방법에 대한 정보가 있습니다.

4
Paul Jones

Steve H 언급 방법 외에도 Devel 모듈을 사용하면 다음과 같은 몇 가지 추가 옵션이 열립니다.

  • 모든 페이지로드에서 테마 캐시 재 구축 (템플릿 파일을 작업하는 전문가 인 경우 유용)
  • 빈 캐시 기능 및 재설치 기능에 쉽게 액세스 할 수있는 블록입니다.

Performance 에서 Devel 모듈과 캐싱이 해제 된 상태에서 일상적인 개발에서 실행할 다른 주요 캐시는 메뉴 라우터뿐입니다. Steve가 언급 한 것처럼 Devel 또는 Admin Menu를 사용하여 다시 빌드했습니다.

4
user7

주목해야 할 한 가지 중요한 점은 테마 또는 모듈에서 많은 스타일 시트가있는 경우 CSS 파일 최적화를 끄면 IE에서 사이트가 손상 될 수 있습니다.

실제로 캐싱하지는 않지만 동일한 설정 페이지에 있으며 종종 캐싱과 함께 사용됩니다.

그런데 관리자 메뉴 모듈의 "모든 캐시 플러시"링크는 환상적입니다.

4
epersonae

Drupal 6을 사용하는 경우 " Cache Disable "모듈은 [어떤 이유로 인해] 더 무거운 모듈을 설치하지 않으려는 경우 해당 작업에 유용 할 수 있습니다 Devel처럼.

3
wildpeaks

Drupal와 함께 사용되는 캐시의 양은 때때로 미쳐 버릴 수 있습니다.

Drupal 캐시를 비활성화하고 지우는 일반적인 방법은 다음과 같습니다.


디 캐스팅 캐시 :

일부 캐시는 Drupal에 필요하므로 모든 캐시를 비활성화 할 수는 없습니다.

설정 파일에 다음 줄을 추가하여 캐시를 비활성화하는 방법은 다음과 같습니다.

// Disable caches
$conf['cache'] = 0;
$conf['block_cache'] = 0;
$conf['views_skip_cache'] = TRUE;
$conf['page_compression'] = 0;
$conf['preprocess_css'] = 0;
$conf['preprocess_js'] = 0;

모든 캐시를 비활성화하면 웹 사이트 속도가 매우 느려서 개발 시스템이 면제되는 다른 환경에는 권장되지 않습니다.


청소 캐쉬

XCache

사용되는 경우 XCache 캐시를 지우십시오.

drush eval "function_exists('xcache_clear_cache') && xcache_clear_cache();"

위의 방법으로 문제가 해결되지 않으면 관리자 패널 (/ xcache-admin)의 XCache에서 캐시를 지우십시오.

e 가속기

drush eval "function_exists('accelerator_reset') && accelerator_reset();"

[~ # ~] apc [~ # ~]

drush eval "function_exists('apc_clear_cache') && apc_clear_cache();"

OPCache

PHP> = 5.5와 함께 사용하는 경우 PHP OPCache) 지우기

drush eval "function_exists('opcache_reset') && opcache_reset();"

참고 : 위의 CLI 명령은 다음과 같이 Apache 캐시를 지우지 않습니다. Opcache-PHP5.4 이하에서 캐시 정리 .

memcached

Memcached를 사용하는 경우 다음 방법 중 하나를 사용하여 memcached를 지우거나 다시 시작하거나 종료해야합니다.

사용자 (이 중 하나) :

echo flush_all > /dev/tcp/127.0.0.1/11211
echo flush_all | nc localhost 11211 # Flush Contents Of a Memcached Server

루트로서 (이 중 하나) :

/etc/init.d/rc.d/memcached restart
service memcached restart
killall memcached # It's automatically restarted on OSX.

설정 파일에 다음 줄을 사용하여 memcached 모듈을 설치하는 것이 좋습니다.

$conf['cache_backends'][] = 'sites/all/modules/contrib/memcache/memcache.inc';

따라서 Memcached 캐시는 표준 Drupal 캐시 지우기)에서 지워집니다.

바니시

니스를 사용하는 경우 Varnish 모듈을 설치하고 설정 파일에 다음 줄을 설정하는 것이 좋습니다.

$conf['cache_backends'][] = 'sites/all/modules/contrib/varnish/varnish.cache.inc';

따라서 니스 캐시는 Drupal 캐시 지우기)에서 함께 지워집니다.

또는 페이지를 수동으로 지우는 데 curl을 사용할 수 있습니다.

curl -X PURGE -H "Host: domain.com" http://127.0.0.1/node/123

더 읽기 : 니스 캐시를 지우려면 어떻게해야합니까?

황폐

Drush를 통한 Drupal 캐쉬 지우기) :

drush cc all
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "DELETE FROM %;" | $(drush sql-connect) -v
drush eval 'menu_rebuild();'

때때로 UI 캐시가 CLI보다 나은 방식으로 지워 지므로/admin/config/development/performance에서 동일한 작업을 수행 할 수 있습니다.


다음은 모든 캐시를 지우는 데 유용한 셸 스크립트입니다.

#!/bin/bash
set -o xtrace
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "DELETE FROM %;" | $(drush sql-connect) -v
echo 'flush_all' | nc localhost 11211 # Flush Contents Of a Memcached Server
drush eval "function_exists('opcache_reset') && opcache_reset(); function_exists('xcache_clear_cache') && xcache_clear_cache();"
drush eval 'menu_rebuild();'
set -o xtrace -
echo done.
2
kenorb

오래된 질문이지만 방금 내가 수행 한 검색과 관련된 것으로 나타났습니다.

거의 모든 캐시 지우기 방법은 결국 drupal_flush_all_caches 을 호출합니다. 다양한 상황에서 자신의 코드로 이것을 호출하여 놀 수 있습니다.

2
mpdonadio

drupal에서 캐시를 지우려면 다음 방법 중 하나를 사용할 수 있습니다

1.) URL your_domain/admin/config/development/performance를 방문하여 캐시 지우기 버튼을 클릭하면됩니다.

2.) drush 모듈을 설치했다면이 drush cc all 명령으로 캐시를 지울 수 있습니다.

3.) 데이터베이스 액세스 권한이있는 경우 다음 명령을 사용하여 캐시를 지울 수 있습니다 (운영 데이터베이스에 직접 액세스하는 것은 바람직하지 않습니다. 대신 사이트가 "라이브"인 경우 대안 중 하나를 사용하십시오)

TRUNCATE TABLE 캐시;

TRUNCATE TABLE cache_block;

TRUNCATE TABLE cache_bootstrap;

TRUNCATE TABLE cache_field;

TRUNCATE TABLE cache_filter;

TRUNCATE TABLE cache_form; // 다른 cache_ * 테이블과의 중요한 차이점에 유의하십시오. 자세한 내용은 아래를 참조하십시오.

TRUNCATE TABLE cache_image;

TRUNCATE TABLE cache_menu;

TRUNCATE TABLE cache_page;

TRUNCATE TABLE cache_path;

TRUNCATE TABLE cache_token;

TRUNCATE TABLE cache_update;

4.) 우리는 또한 모듈 파일 db_query ( "DELETE FROM {cache};");

5.) cache_clear_all ()과 같이 캐시를 지우는 데 drupal api를 사용할 수 있습니다)

6.) 또한 devel 모듈 설치 devel 모듈로 캐시를 지울 수 있으며이를 통해 "개발자/개발 블록"을 활성화하여 캐시를 지울 수 있습니다.

다른 cache_와 다른 목적을 가진 cache_form에 대한 추가 정보 테이블 :

  • drupal_flush_all_caches ()의 핵심 API 문서는 "cache_form을 지우지 마십시오. 진행중인 양식 제출이 중단 될 수 있습니다."라고 말합니다. 이 문제는 개발 버전이 아닌 활성 사용자가있는 사이트에만 적용됩니다.

  • 이 게시물에 설명 된 캐시를 지우는 다른 수동 방법은 cache_form에 영향을 미치지 않습니다.

  • 프로덕션 사이트에서 cache_form의 크기를 줄여야하는 경우 캐시 양식 테이블 크기가 엄청납니다 를 참조하십시오.

0
SynapseIndia