Magento 2: Sự khác biệt giữa Cache Clean & Cache Flush là gì?


22

Trong Magento 2 chúng ta có 2 lệnh

php bin/magento cache:flush
php bin/magento cache:clean

Sự khác biệt chính xác giữa chúng là gì? Tôi thường sử dụng cache:flush. Tôi không bao giờ sử dụng cache:clean. Vậy, khi nào nên sử dụng lệnh nào & trong tình huống nào?

Câu trả lời:


29

Để xóa các mục lỗi thời khỏi bộ đệm, bạn có thể xóa hoặc xóa các loại bộ đệm:

  • Làm sạch loại bộ đệm chỉ xóa tất cả các mục khỏi các loại bộ đệm Magento đã bật. Nói cách khác, tùy chọn này không ảnh hưởng đến các quy trình hoặc ứng dụng khác vì nó chỉ xóa bộ nhớ cache mà Magento sử dụng.

    Các loại bộ đệm bị vô hiệu hóa không được làm sạch.

  • Xóa một loại bộ đệm sẽ xóa bộ nhớ cache, điều này có thể ảnh hưởng đến các ứng dụng quy trình khác đang sử dụng cùng một bộ lưu trữ.

Xóa các loại bộ đệm nếu bạn đã thử làm sạch bộ đệm và bạn vẫn gặp sự cố mà bạn không thể tách rời.

Nguồn: https://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cache.html#config-cli-subcommands-cache-clean


1
Tôi có thể biết các ứng dụng quy trình khác sẽ sử dụng bộ nhớ cache Magento không.
Jaya chandra

Bạn có thể kích hoạt hiệu suất trong Magento bằng cách định cấu hình Cấu hình Redis cho bộ đệm ẩn, Cấu hình Memcached cho bộ đệm ẩn phiên và Định cấu hình Varnish dưới dạng Bộ đệm toàn bộ trang (Điều này được giải thích chi tiết trong Magento 2 Cook Book của Ray Bogman). Các ứng dụng khác có ý nghĩa nếu bạn có một Redis hoặc bất kỳ máy chủ nào khác đang chạy và được định cấu hình với nhiều hơn một Magento hoặc bất kỳ ứng dụng nào khác. Chạy Flush sẽ xóa tất cả các thư mục + tệp nhưng chạy sạch sẽ xóa các tệp một mình trong \ Magento \ var \ cache dir.
Bala Varadarajan

11

Bộ nhớ cache php / magento: sạch

Làm sạch loại bộ đệm chỉ xóa tất cả các mục khỏi các loại bộ đệm Magento đã bật. Nói cách khác, tùy chọn này không ảnh hưởng đến các quy trình hoặc ứng dụng khác vì nó chỉ xóa bộ nhớ cache mà Magento sử dụng.

Các loại bộ đệm bị vô hiệu hóa không được làm sạch.

Bộ nhớ cache php / magento: tuôn ra

Xóa một loại bộ đệm sẽ xóa bộ nhớ cache, điều này có thể ảnh hưởng đến các ứng dụng quy trình khác đang sử dụng cùng một bộ lưu trữ.

Tham khảo: DevDocs Quản lý bộ đệm


Cảm ơn @Rafael. Vậy cái nào là tốt nhất và khi nào nên sử dụng?
Ankit Shah

Tùy thuộc, nhưng tôi thích bộ nhớ cache: rõ ràng
Rafael Corrêa Gomes

Tôi đã cố gắng tạo một tệp trống trên var / cache và nó không bị xóa bởi bất kỳ lệnh nào như bạn đã đề cập. Nhưng dù sao cũng cảm ơn vì điều đó.
Ricardo Martins

@RicardoMartins là vì bạn cần tạo một tệp như var / cache / mage - test-martines
Rafael Corrêa Gomes

Câu trả lời này ngược lại với câu trả lời được chọn Nếu tôi đúng
Patrick van Efferen

2

Trích dẫn Fabrizio Branca cho cái này:

(...) Magento đi kèm với hai hành động khác nhau đó ở vị trí đầu tiên (bạn cũng sẽ tìm thấy hai nút trên trang quản lý bộ đệm).

Trong khi bộ đệm: dọn dẹp xóa bộ nhớ cache bằng thẻ cache: flush sẽ xóa sạch mọi thứ.

Có hai sự khác biệt chính ở đây:

  • một số thứ được lưu trữ vào bộ đệm mà không có các thẻ thích hợp. bộ nhớ cache: sạch sẽ không xóa những cái đó
  • những thứ khác có thể đang sử dụng cùng một bộ nhớ cache (điều này không được khuyến khích, nhưng thật đáng buồn đôi khi đây là trường hợp). Xóa bộ nhớ cache sẽ dẫn đến mọi thứ bị xóa. Vì vậy, nếu nhiều phiên bản Magento sử dụng cùng một bộ nhớ cache hoặc nếu bạn lưu trữ các phiên của mình trong cùng một cơ sở dữ liệu Redis mà bạn đang sử dụng cho bộ đệm (xin đừng! :) thì chúng cũng sẽ biến mất.

1

Bộ nhớ cache php / magento: sạch

Làm sạch loại bộ đệm chỉ xóa tất cả các mục khỏi các loại bộ đệm Magento đã bật. Nói cách khác, tùy chọn này không ảnh hưởng đến các quy trình hoặc ứng dụng khác vì nó chỉ xóa bộ nhớ cache mà Magento sử dụng.

Các loại bộ đệm bị vô hiệu hóa không được làm sạch.

Bộ nhớ cache php / magento: tuôn ra

Xóa một loại bộ đệm sẽ xóa bộ nhớ cache, điều này có thể ảnh hưởng đến các ứng dụng quy trình khác đang sử dụng cùng một bộ lưu trữ.


0

Sử dụng bin/magento cache:cleanbạn có thể chỉ định các loại bộ đệm (được phân tách bằng dấu phẩy) mà bạn muốn xóa.

Các loại được hỗ trợ:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice

Bạn có thể làm điều đó với bộ đệm: tuôn ra là tốt. Xem devdocs.magento.com/guides/v2.3/config-guide/cli/ .
Ricardo Martins

0

Trong khi cache:cleanxóa bộ nhớ cache bằng thẻ cache:flushsẽ xóa sạch mọi thứ.

Có hai sự khác biệt chính ở đây:

một số thứ được lưu trữ vào bộ đệm mà không có các thẻ thích hợp. bộ nhớ cache: sạch sẽ không xóa những cái đó những thứ khác có thể đang sử dụng cùng một bộ nhớ cache (điều này không được khuyến khích, nhưng thật đáng buồn đôi khi đây là trường hợp). Xóa bộ nhớ cache sẽ dẫn đến mọi thứ bị xóa. Vì vậy, nếu nhiều phiên bản Magento sử dụng cùng một bộ lưu trữ bộ đệm hoặc nếu bạn lưu trữ các phiên của mình trong cùng một cơ sở dữ liệu redis mà bạn đang sử dụng cho bộ đệm (xin đừng! :) thì chúng cũng sẽ biến mất.

Nguồn: https://github.com/netz98/n98-magerun/issues/588#issuecomment-112453280

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.