Tự động làm mới Cache


8

Tôi muốn làm mới tất cả bộ nhớ cache theo các khoảng thời gian được chỉ định, như một lần một ngày vào lúc nửa đêm (làm ví dụ). Làm thế nào tôi có thể thực hiện điều này?

Tôi đang sử dụng CE 1.9.1.


1
đặt công việc định kỳ và xóa bộ nhớ cache
MeenakshiSundaram R

OK, về cơ bản tôi đang hỏi làm thế nào để làm điều đó. Làm thế nào để tôi thiết lập một cronjob cho điều này?
Tijdschriftenzo

bạn đã đặt magento cron trên máy chủ của mình chưa?
Amit Bera


1
nếu bạn đang làm mới bộ đệm trong khoảng thời gian, thì tôi sẽ đánh giá lại việc thực hiện của bạn.
B00mer

Câu trả lời:


14

Nếu trong hệ thống magento của bạn, magento cron jobs are working properlythì bạn xác định a cronjobsẽ bắn vào nửa đêm và xóa bộ nhớ cache .

<crontab>
    <jobs>
        <clean_cache_midnight><!-- identifier -->
             <schedule>
                 <cron_expr>0 0 * * *</cron_expr> <!-- run cronjob on midnight -->
             </schedule>
            <run>
                <model>MyModule_Model_Group_Class_Name::functionName</model>
            </run>
        </clean_cache_midnight>
    </jobs>
</crontab>

Và lớp học là

<?php
class [ModuleNameSpace]_[ModuleName]_Model_Mycron
{
    public function functionName(){

     /**
     * Flush all magento cache
     */
     Mage::app()->cleanCache();
    }
}

Mô-đun đầy đủ:

tạo config.xmltại ứng dụng / mã / cộng đồng / Amit / Cleancache / etc /

<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
    <Amit_Cleancache>
        <version>1.0.0</version>
    </Amit_Cleancache>
</modules>
    <global>
        <models>
            <cleancache>
                <class>Amit_Cleancache_Model</class>
            </cleancache>
        </models>
    </global>
    <crontab>
        <jobs>
            <clean_cache_midnight><!-- identifier -->
                 <schedule>
                     <cron_expr>0 0 * * *</cron_expr> <!-- running cronjob on midnight -->
                 </schedule>
                <run>
                    <model>cleancache/Fire::fireCacheonMidnight</model>
                </run>
            </clean_cache_midnight>
        </jobs>
    </crontab>
</config>

File2: tạo Fire.php tại ứng dụng / mã / cộng đồng / Amit / Cleancache / Model /

mã:

<?php
class Amit_Cleancache_Model_Fire
{
    public function fireCacheonMidnight(){

     /**
     * Flush all magento cache
     */
     Mage::app()->cleanCache();
    }
}

File3: tệp cấu hình mô-đun Amit_Cleancache.xml tại app / etc / module /

<?xml version="1.0" encoding="utf-8"?>
<config>
    <modules>
        <Amit_Cleancache>
            <active>true</active>
            <codePool>community</codePool>
        </Amit_Cleancache>
    </modules>
</config>

Tệp config.xml tạo ra lỗi này: "Trang này chứa các lỗi sau: lỗi trên dòng 14 ở cột 14: Thẻ mở và kết thúc không khớp: mô hình dòng 0 và toàn cầu Dưới đây là kết xuất của trang cho đến lỗi đầu tiên. 1.0. 0 Amit_Cleancache_Model "
Tijdschriftenzo

thẻ không đóng..tôi đã cập nhật câu trả lời .. bây giờ hãy kiểm tra
Amit Bera

Tuyệt vời, hoạt động như một nét duyên dáng!
Tijdschriftenzo

@AmitBera Làm cách nào tôi có thể thiết lập công việc cron trên máy chủ của mình, như mọi bộ đệm autorefresh đêm và reindex mỗi đêm.
zus

@AmitBera Tôi đã tạo mã đơn giản để xóa bộ đệm. Mã này là: justpaste.it/6rjvd và cấu hình cron: snag.gy/AZowtf.jpg . Cron vẫn không hoạt động, có đúng như những gì tôi đã làm không?
Đá quý

-1

Trong Magento> quản lý bộ đệm> 3 tùy chọn bộ đệm cuối cùng:

Quản lý bộ đệm bổ sung Danh mục hình ảnh Flush Bộ đệm hình ảnh sản phẩm được tạo trước. Flush Swatch Images Cache Các tập tin hình ảnh swatches cấu hình được tạo trước. Flush JavaScript / CSS Cache Themes Các tệp JavaScript và CSS được kết hợp thành một tệp.

Có thể xóa các loại bộ đệm này bằng công việc tự động cron không?

Lý do là :

Nếu tôi không xóa các bộ đệm này thường xuyên thì điều REDIS sẽ thất bại và mọi thứ đều sụp đổ.

Cảm ơn :)

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.