0

アプリケーションで Zend_Cache を使用しようとしたところ、うまくいきました。問題は、Zend_Cache の clean() メソッドをコードのどこに配置すればよいかわからないことです。これが私のコードです:

// application/Bootstrap.php
protected function _initCache()
{

    $dir = "./cache";

    $frontendOptions = array(
            'lifetime' => 10,
            'content_type_memorization' => true,
            'default_options'           => array(
                    'cache' => true,
                    'cache_with_get_variables' => true,
                    'cache_with_post_variables' => true,
                    'cache_with_session_variables' => true,
                    'cache_with_cookie_variables' => true,
            ),
            'regexps' => array(
                    // cache the whole IndexController
                    '^/.*' => array('cache' => true),
                    '^/index/' => array('cache' => true),
                    // place more controller links here to cache them
            )
    );

    $backendOptions = array(
            'cache_dir' =>$dir
    );

    // getting a Zend_Cache_Frontend_Page object
    $cache = Zend_Cache::factory('Page',
            'File',
            $frontendOptions,
            $backendOptions);
    $cache->start();
}

はどこに置けば$cache->clean(/* something */);いいですか?

4

1 に答える 1

0

$frontend 配列がデータを 10 秒間キャッシュするように構成したため、キャッシュされたデータは 10 秒後に自動的に削除されます。

次のように時間を増やすことをお勧めします

one hour : 3600 or 2 hours like 7200

ただし、後でアプリケーションでキャッシュされたデータ全体を手動で消去する場合は、次のように記述します。

$cache->clean();

これにより、キャッシュされたデータ全体が消去されます。ただし、キャッシュされている特定のデータを削除する場合は、次のように記述します

$cache->remove('mydata');

キャッシュをさらに使用するには、リンクを参照してください

私は上記のリンクとは関係ありません。あなたの知識のためだけです

これが確実に役立つことを願っています。

于 2013-09-20T06:38:29.043 に答える