Các khung nhìn được lưu trong bộ nhớ cache thông qua các cơ chế bộ đệm chính hay tôi nên đặt bộ đệm trực tiếp trong mỗi chế độ xem?


23

Tôi thấy có các cài đặt bộ đệm trong mỗi quan điểm của tôi. Tôi có cần thiết lập các cơ chế bộ nhớ đệm lõi này trong / admin / config / Development / Performance để tự động thực hiện một số điều này và các "cài đặt bổ sung" này trong chế độ xem nếu tôi muốn ghi đè hành vi bộ đệm mặc định của lõi drupal không?

nhập mô tả hình ảnh ở đây


Tôi tò mò về câu hỏi chính xác này. Các cài đặt bộ đệm cụ thể của Chế độ xem có ghi đè cài đặt bộ đệm hiệu năng của Drupal Core không? Về mặt logic, tôi sẽ nghĩ rằng đó là trường hợp, nhưng điều đó không nhất thiết phải được giả định.
David Csonka

Tôi đã bắt đầu một tiền thưởng cho điều này, bởi vì tôi thực sự muốn hiểu điều này tốt hơn.
David Csonka

Câu trả lời:


38

CÁI GÌ: Bộ nhớ đệm hiệu suất lõi lưu trữ và phục vụ toàn bộ trang được hiển thị với id bộ đệm của URL. Bộ nhớ đệm xem vượt ra ngoài điều này để chỉ lưu trữ đầu ra xem.

TẠI SAO: Thật tuyệt vời cho người dùng đăng nhập; các khối khác trên trang có thể linh hoạt hơn nhưng chế độ xem không phải chạy truy vấn mỗi lần cho mọi người dùng ... chỉ là người dùng không thường xuyên tạo bộ đệm trang khi hết thời gian lưu trữ bộ đệm.

CÀI ĐẶT: Cho phép "đầu ra được kết xuất" tươi hơn truy vấn sẽ hữu ích cho những thứ như đánh dấu nội dung là mới, nếu không thì chỉ cần khớp chúng.

HÌNH ẢNH LỚN: Drupal phục vụ trang động, sử dụng máy chủ để xây dựng các trang trong PHP và truy cập cơ sở dữ liệu (hoặc bộ nhớ cache trong bộ nhớ). Điều này cho phép các tính năng tuyệt vời và tốc độ của trình soạn thảo nội dung ... nhưng sự đánh đổi là cần phải hiểu bộ nhớ đệm và thực hiện đúng.

PHƯƠNG THỨC!

Ngoài ra còn có một mô-đun Cache Content Content đáng yêu giúp xóa bộ nhớ cache khi chỉnh sửa nội dung. Nếu bạn muốn đi xa hơn, bạn cũng có thể muốn kiểm tra Tác vụ bộ đệm , tôi khuyên bạn nên Quy tắc để tinh chỉnh điều này.

Ngoài ra, Blockcache Alter cho phép bạn đặt tùy chọn "theo vai trò", trang, người dùng, v.v. cho mỗi khối trên trang web của bạn.

Bạn cũng có thể thêm Trình quản lý trangBảng điều khiển . Điều này cho phép bạn thực hiện những điều thú vị như đặt bộ đệm "cho mỗi người dùng", "mỗi vai trò" hoặc một số cấu hình rất hữu ích khác. Mặc dù cá nhân tôi tránh các bảng.

TÀI LIỆU: Để biết bộ nhớ đệm và hiệu suất nói chung, hãy xem trang Drupal.org .


Câu trả lời này thực sự tốt. Bình chọn lên. Tôi đã thêm một phần trên Trình quản lý trang và Bảng điều khiển và bây giờ câu trả lời có thể gần như hoàn tất.
Letharion

Hiệu suất lõi "Chặn bộ đệm" có cần được bật để bộ đệm cụ thể Chế độ xem hoạt động không?
David Csonka

Cảm ơn bạn đã thêm một chút về Trình quản lý trang / Bảng điều khiển - bởi vì sau khi thêm tiền thưởng cho việc này, tôi nhận ra rằng tôi cũng tò mò về bộ nhớ đệm Mini-panel. Tôi đã tự hỏi nếu hiệu suất lõi "Chặn bộ đệm" ghi đè hoặc được yêu cầu phải được bật để Mini-Panels "Bộ nhớ đệm đơn giản" có hiệu quả.
David Csonka

1
Chặn bộ đệm thực sự sẽ lưu trữ bộ đệm đầu ra bất kể cài đặt bộ đệm của chế độ xem ... giống như bộ đệm của trang. Nếu bạn có thời gian lưu trữ bộ đệm trang đăng xuất 12 giờ, bộ đệm xem không thành vấn đề vì các trang đó không được hiển thị lại, chúng chỉ được phục vụ từ bộ đệm.
doublejosh

1
Về mặt khác, nếu tôi kích hoạt bộ đệm ẩn Core Block, Drupal sẽ áp đặt các điều kiện bộ đệm tương tự cho tất cả các khối của tôi trên toàn bộ trang web của tôi, phải không? Vì Core Drupal Block Cacheing có mức độ ưu tiên cao hơn các cài đặt bộ nhớ đệm Khối xem? Đó dường như chỉ là một kịch bản tốt nếu bạn không có nội dung có thể cần được làm mới trên cơ sở nhất quán.
David Csonka

4

Lượt xem sử dụng API bộ đệm của Drupal nhưng nó tạo bộ đệm riêng không liên quan đến bộ đệm / trang bộ đệm Drupal thông thường.

Lượt xem lưu trữ định nghĩa chế độ xem cùng với chế độ xem được hiển thị. Chế độ xem được hiển thị có thể được lưu trong bộ nhớ cache theo hai cách, hoặc là kết quả truy vấn hoặc HTML thực tế của chế độ xem. Thông thường bạn muốn lưu trữ bộ đệm HTML đã xuất vì đây là hiệu suất hiệu quả nhất. Trong một số trường hợp bạn muốn thay đổi đầu ra dựa trên người dùng đã đăng nhập, bộ nhớ đệm truy vấn cũng có thể khá hiệu quả.

Các bảng Lượt xem sử dụng để lưu trữ bộ đệm là:

  • cache_views
  • cache_views_data

Vì vậy, tôi có thể vô hiệu hóa cài đặt bộ đệm ẩn Drupal Core Block tại admin / config / Development / Performance, nhưng cho phép riêng lẻ bộ đệm khối hiển thị Chế độ xem cụ thể và vẫn có các bộ đệm khối Chế độ xem hoạt động đúng không?
David Csonka

1
@DavidCsonka Có bạn có thể làm điều đó. Bộ nhớ đệm khối sẽ hiệu quả hơn so với bộ đệm cho chế độ xem, nhưng chỉ bằng một lề nhỏ.
googletorp

Ahh, thật tốt khi biết điều đó. Nhưng, chỉ sử dụng cài đặt bộ đệm Chế độ xem sẽ cho tôi quyền kiểm soát chính xác hơn về cách khối Chế độ xem được lưu vào bộ đệm, phải không? Nếu tôi sử dụng Bộ đệm ẩn khối thay thế, về cơ bản, nó có áp đặt một bộ cài đặt bộ đệm trên mỗi khối trong trang web của tôi không? Chính xác?
David Csonka

1
Xem bộ đệm (khối hoặc trang) cho phép bạn kiểm soát bộ đệm của bộ danh sách kết quả. Khối bộ nhớ đệm là về đầu ra khối đầy đủ. Có bộ đệm ẩn khối lõi là một cài đặt trên toàn trang web nhưng bạn có thể sử dụng Block Cache Alter để thay đổi rất chi tiết cho mỗi khối.
doublejosh

3
@doublejosh Trong Drupal 7, bạn có thể xác định cách bộ đệm khối nên hoạt động, toàn trang web, mỗi vai trò, mỗi trang, người dùng trang là các tùy chọn tôi tin. Vì bộ nhớ đệm ở mức cao hơn, hiệu suất cao hơn.
googletorp

3

Có một mô-đun thú vị hiện có tên là bộ đệm cache xem tự động lưu trữ tất cả các chế độ xem (kết quả truy vấn và đầu ra), ngoại trừ các chế độ xem với các biểu mẫu được hiển thị. Mô-đun này cũng cho phép bạn loại trừ thủ công các chế độ xem khỏi bộ đệm. Điều này làm cho nó có thể đặt bộ đệm ẩn cho tất cả các chế độ xem (ngoại trừ các chế độ xem được loại trừ) từ một điểm trung tâm.


2

Drupal 7 cung cấp bộ đệm ẩn trang tuy nhiên bộ đệm ẩn trang chỉ hoạt động cho người dùng ẩn danh và không xem bộ đệm

Chế độ xem bộ đệm tuy nhiên hoạt động cho cả người dùng ẩn danh và người dùng đã đăng nhập

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.