it-swarm-vi.com

Tôi có thể tắt bộ đệm để triển khai phát triển không?

Trên nền tảng phát triển bộ nhớ đệm có thể là một nỗi đau. Tôi có thể tắt nó không? Nó sẽ ảnh hưởng đến bất kỳ mô-đun nào yêu cầu nó?

23
palbakulich

Cài đặt mô-đun devel để thêm tùy chọn xóa bộ nhớ cache cho quản trị viên. Bạn sẽ tìm thấy một khối phát để thêm vào một vùng để xóa bộ nhớ cache nhanh hoặc nếu bạn cài đặt menu quản trị và nhận một menu nhanh ở trên cùng bên trái để xóa các bộ đệm khác nhau trong Drupal.

Nếu bạn thích cài đặt dòng lệnh drush và sử dụng drush cc all lệnh để xóa bộ nhớ cache trang web của bạn. Coi chừng hiện tại cc drush không xóa bộ nhớ cache Varnish nếu áp dụng cho thiết lập của bạn.

20
budda

Nếu bạn đang sử dụng Drupal 7, bạn luôn có thể đặt bộ đệm của mình thành sử dụng DrupalFakeCache, thường chỉ được sử dụng trong quá trình cài đặt. Để đặt đó, hãy bỏ đoạn mã sau vào cài đặt của bạn.php:

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

Trang 'Hiệu suất' trong quản trị> cấu hình trang web sẽ cho phép bạn bật/tắt bộ đệm ẩn của các thành phần trang đã chọn. Các mẫu chủ đề thường được lưu trữ liên tục hơn nhưng có thể được xóa trong cùng một trang 'hiệu suất'.

Mô-đun 'Menu quản trị' sẽ cung cấp một lối tắt trong thanh công cụ nếu việc xóa bộ đệm cần được thực hiện thường xuyên hơn - trong quá trình phát triển chủ đề, tôi thấy mình liên tục bị xóa.

4
Storsey

Theo như tôi biết thì không có bất kỳ mô-đun nào yêu cầu bộ đệm. Nếu bạn không muốn tắt nó, bạn có thể xóa nó trong Site Settings > Performance phần.

Ngay cả khi bộ đệm bị vô hiệu hóa Drupal sẽ không nhận ra các tệp mới được thêm vào chủ đề cho đến khi bạn xóa bộ đệm.

Có một số thông tin về các cách khác nhau để xóa bộ nhớ cache tại Drupal.org

4
Paul Jones

Ngoài các phương thức Steve H đã đề cập , sử dụng mô đun Devel sẽ mở ra thêm một số tùy chọn, bao gồm:

  • Xây dựng lại bộ đệm chủ đề trên mỗi lần tải trang (hữu ích nếu bạn là người dùng làm việc trên các tệp mẫu)
  • Một khối sẽ cung cấp quyền truy cập dễ dàng vào chức năng bộ đệm trống và chức năng cài đặt lại.

Với mô-đun Devel và bộ nhớ đệm được tắt trong Hiệu suất , bộ đệm chính khác duy nhất bạn sẽ chạy trong phát triển thường trình là bộ định tuyến menu, có thể là được xây dựng lại bằng cách sử dụng Devel hoặc Admin Menu như Steve đã đề cập.

4
user7

Một điều quan trọng cần lưu ý là nếu bạn có nhiều biểu định kiểu (từ chủ đề của bạn hoặc từ các mô-đun), thì việc tắt tối ưu hóa tệp CSS có khả năng phá vỡ trang web của bạn trong IE.

Mặc dù không thực sự lưu vào bộ đệm, nhưng nó trên cùng một trang cài đặt và thường được sử dụng với bộ đệm.

Nhân tiện, liên kết "Flush all cache" trong mô-đun trình đơn quản trị viên thật tuyệt vời.

4
epersonae

Nếu bạn đang sử dụng Drupal 6, mô-đun " Tắt bộ nhớ cache " có thể thuận tiện cho tác vụ đó nếu bạn không muốn [vì một số lý do] để cài đặt các mô-đun nặng hơn như Diên.

3
wildpeaks

Số lượng bộ nhớ cache được sử dụng với Drupal đôi khi có thể trở nên điên rồ.

Dưới đây là các phương pháp phổ biến để vô hiệu hóa và xóa Drupal cache và được liên kết với nó.


CÁC KHOẢN CẨN THẬN:

Lưu ý rằng bạn không thể vô hiệu hóa tất cả các bộ nhớ cache, vì một số trong số chúng được yêu cầu bởi Drupal.

Dưới đây là phương pháp vô hiệu hóa bộ đệm bằng cách thêm các dòng sau vào tệp cài đặt của bạn:

// 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;

Nếu bạn vô hiệu hóa tất cả bộ nhớ cache, trang web của bạn sẽ rất chậm, do đó, không nên sử dụng cho bất kỳ môi trường nào khác miễn cho máy phát triển của bạn.


CÁCH XÓA

XCache

Xóa bộ nhớ cache XCache nếu được sử dụng:

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

Hoặc xóa bộ đệm trong XCache trong bảng quản trị (/ xcache-admin) nếu ở trên không hoạt động.

eAccelerator

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

[~ # ~] apc [~ # ~]

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

OPCache

Xóa PHP OPCache nếu sử dụng với PHP> = 5.5

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

Lưu ý: Lệnh CLI ở trên sẽ không xóa bộ nhớ cache cho Apache, theo: Opcache - Làm sạch bộ đệm trong PHP5.4 trở xuống .

đã ghi nhớ

Nếu bạn đang sử dụng memcached, bạn nên xóa, khởi động lại hoặc tắt memcached bằng một trong các phương pháp:

Là người dùng (một trong số này):

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

Là một gốc (một trong số này):

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

Bạn cũng nên cài đặt mô-đun memcached với dòng sau trong tệp cài đặt của mình:

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

Vì vậy, bộ nhớ cache Memcached bị xóa trên tiêu chuẩn Drupal xóa bộ nhớ cache.

Véc ni

Nếu bạn đang sử dụng Varnish, bạn nên cài đặt mô-đun Varnish và đặt dòng sau trong tệp cài đặt của bạn:

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

Vì vậy, bộ nhớ cache Varnish sẽ bị xóa cùng nhau trên Drupal xóa bộ nhớ cache.

Ngoài ra, bạn có thể sử dụng curl để xóa các trang theo cách thủ công:

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

Đọc thêm: Làm cách nào tôi có thể xóa bộ nhớ cache Varnish?

Drupal

Xóa Drupal lưu trữ thông qua drush:

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();'

Bạn có thể làm tương tự tại/admin/config/Development/Performance, vì đôi khi bộ nhớ cache được xóa theo cách tốt hơn so với CLI.


Đây là tập lệnh Shell hữu ích để xóa tất cả bộ nhớ cache:

#!/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

Câu hỏi cũ, nhưng tôi chỉ thấy nó hiện lên như một câu hỏi liên quan đến một tìm kiếm tôi đang làm.

Gần như tất cả các phương thức xóa bộ nhớ cache đều kết thúc cuộc gọi drupal_flush_all_caches cuối cùng. Bạn có thể chơi xung quanh với cách gọi này trong các trường hợp khác nhau trong mã của riêng bạn.

2
mpdonadio

chúng ta có thể sử dụng một trong các phương pháp sau để xóa bộ nhớ cache trong drupal

1.) Chúng tôi chỉ có thể truy cập url your_domain/admin/config/Development/Performance và nhấp vào nút xóa bộ nhớ cache.

2.) Nếu chúng tôi đã cài đặt mô-đun drush, chúng tôi có thể xóa bộ nhớ cache bằng lệnh này drush cc all .

3.) Nếu chúng tôi có quyền truy cập cơ sở dữ liệu, chúng tôi có thể xóa bộ nhớ cache bằng các lệnh sau (không nên truy cập trực tiếp vào cơ sở dữ liệu sản xuất; sử dụng một trong các lựa chọn thay thế nếu trang web của bạn "trực tiếp")

TRUNCATE BẢNG bộ đệm;

TRUNCATE BẢNG cache_block;

TRUNCATE BẢNG cache_bootstrap;

TRUNCATE BẢNG cache_field;

TRUNCATE BẢNG cache_filter;

TRUNCATE BẢNG cache_form; // lưu ý sự khác biệt quan trọng từ các bảng cache_ * khác - xem thêm thông tin bên dưới

TRUNCATE BẢNG cache_image;

TRUNCATE BẢNG cache_menu;

TRUNCATE BẢNG cache_page;

TRUNCATE BẢNG cache_path;

TRUNCATE BẢNG cache_token;

TRUNCATE BẢNG cache_update;

4.) Chúng tôi cũng có thể viết truy vấn trong tệp mô-đun db_query của chúng tôi ("XÓA TỪ {cache};");

5.) Chúng tôi có thể sử dụng drupal api để xóa bộ nhớ cache như cache_clear_all ()

6.) Chúng tôi cũng có thể xóa bộ đệm bằng mô-đun devel cài đặt mô-đun devel và kích hoạt "Khối phát triển/khối phát triển" bằng cách này, chúng tôi có thể xóa bộ đệm

Thông tin thêm về cache_form, có mục đích khác với bộ đệm khác _ bảng:

  • tài liệu api cốt lõi cho drupal_flush_all_caches () nói "Không xóa cache_form - việc gửi biểu mẫu đang thực hiện có thể bị hỏng." Mối quan tâm này chỉ áp dụng cho các trang web có người dùng hoạt động và không áp dụng cho các phiên bản phát triển.

  • các phương pháp xóa bộ nhớ cache được mô tả trong bài đăng này sẽ không ảnh hưởng đến cache_form

  • nếu bạn cần thu nhỏ kích thước của cache_form trên một trang sản xuất, hãy xem Kích thước bảng của Cache Form là rất lớn

0
SynapseIndia