0

何かをキャッシュしようとしています。私のcore.php設定ファイルには、次のものがあります。

//short
Cache::config('short', array(
    'engine' => 'File',
    'duration' => '+1 hours',
    'path' => CACHE,
    'prefix' => 'cake_short_'
));

// long
Cache::config('long', array(
    'engine' => 'File',
    'duration' => '+1 week',
    'probability' => 100,
    'path' => CACHE . 'long' . DS,
));

私のコントローラーには、これがあります:

$xmlpublist = Cache::read('xmlpublist');

var_dump($xmlpublist);

//if cache is still set, return cache
if($xmlpublist !== false) {
    die('cache A');
    return $xmlpublist;
}

Cache::write('xmlpublist', "test", 'short');
die('cache C');
return $xml;

ファイルが生成されていることがわかります-/path/to/cache/cake_short_xmlpublist

しかし、私がするときCache::read('xmlpublist')、私はいつも得bool(false)ます。キャッシュディレクトリへの読み取りアクセスと書き込みアクセスの両方があることを確認しました。

期待: キャッシュから値を取得します。

結果: bool(false)を取得します

どこが間違っていたのでしょうか?

返信をいただければ幸いです;)

ありがとう、W

4

1 に答える 1

5

呼び出すときCache::read()は、読み取るキャッシュ構成を含める必要があるため、この場合は'short'。その追加のパラメーターがないと、探しているキーがない可能性のある「デフォルト」構成から読み取ることになります。

于 2012-08-27T01:54:11.833 に答える