自动刷新缓存


8

我想按指定的间隔刷新所有缓存,例如每天午夜一次(例如)。我该怎么做?

我正在使用CE 1.9.1。


1
设置cron作业并清除缓存
MeenakshiSundaram R

好吧,基本上我在问怎么做。我如何为此设置cronjob?
Tijdschriftenzo

您在服务器上设置了magento cron吗?
阿米特·贝拉


1
如果您要定期刷新缓存,那么我将重新评估您的实现。
B00MER

Answers:


14

如果你的Magento系统,magento cron jobs are working properly那么你定义a cronjob在午夜和清除缓存火

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

课是

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

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

完整模块:

创建config.xml应用程序/代码/社区/艾米特/ 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>

文件2:创建 Fire.php应用程序/代码/社区/艾米特/ Cleancache /型号/

码:

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

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

File3:位于app / etc / modules /的模块配置文件Amit_Cleancache.xml

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

config.xml生成此错误:“此页面包含以下错误:第14行第14列的错误:打开和结束标记不匹配:对第0行和全局行建模以下是直到第一个错误为止的页面呈现。1.0。 0 Amit_Cleancache_Model“
Tijdschriftenzo

标签未关闭。.我已经更新了答案..现在检查
阿米特·贝拉

太好了,就像魅力一样!
Tijdschriftenzo

@AmitBera我如何在服务器上设置cron作业,就像每晚自动刷新缓存并重新索引一样。
zus

@AmitBera我创建了简单的代码来清除缓存。代码是:justpaste.it/6rjvd和cron配置:snag.gy/AZowtf.jpg。仍然cron无法正常工作,对吗?
宝石

-1

在Magento>缓存管理>最后3个缓存选项中:

其他高速缓存管理刷新目录图像高速缓存预生成的产品图像文件。刷新样本图像缓存预先生成的可配置样本图像文件。刷新JavaScript / CSS缓存主题JavaScript和CSS文件合并为一个文件。

是否可以使用自动cron作业刷新这些缓存类型?

原因是:

如果我不定期清除这些缓存,则REDIS失败,并且所有程序崩溃。

谢谢 :)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.