Cakephp で開発したサイトがあります。クエリをキャッシュしたい。私はドキュメントを読みましたが、bootstrap.php
これには次のものがあります。
Cache::config('default', array('engine' => 'File'));
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,
));
クエリを保存するコントローラーは次のとおりです。
public function test_view () {
$product_general = Cache::read('product_general_query', 'longterm');
if (!$product_general) {
echo("test");
$product_general = $this->Product->query('SELECT DISTINCT * FROM products');
Cache::write('product_general_query', $product_general, 'longterm');
}
$this->set('product_general', $product_general);
}
ページに入力するたびに、キャッシュにクエリが見つからないため、「テスト」と表示されます。問題はどこだ?私は何かを見逃していますか?