Benim site için önbelleğe alma ayarlama çalışıyorum, ama zorluk önbelleğe alma düzgün ya da çalışıp çalışmadığını test yaşıyorum. Ben benim denetleyicisi şu var:
public function read($id, $slug = null)
{
$this->cache = Cache::instance();
$story = $this->cache->get("story".$id);
if (!$story) {
$story_model = new Story_Model;
$story = $story_model->get_story($id);
if (!$story) throw new Kohana_404_Exception();
$this->cache->set("story".$id, $story);
}
$this->template->content = new View('story');
$this->template->title = htmlspecialchars($story->title);
$this->template->content->story = $story;
}
Bu sadece iyi çalışır, ben bile önbelleği bulunan ediliyor doğrulayabilir, ve önbellek ayarlandıktan sonra if () onay girilen değildir. Benim karışıklık bu, ben değişikliklerin görünümünde yansıtılmamış benim önbellek dosyasını düzenlemek zaman neden nedir? Örneğin, benim önbellek bu gibi görünüyor:
O:8:"stdClass":11:{
s:2:"id";s:3:"636";
s:5:"title";s:45:"Some Article Title";
s:4:"link";s:50:"http://www.somesite.com";
s:8:"category";s:2:"12";
s:4:"user";s:1:"5";
s:4:"slug";s:45:"some-article-title";
s:7:"pubdate";s:19:"2009-08-05 03:57:50";
s:6:"sticky";s:1:"0";
s:7:"summary";N;
s:13:"categorytitle";s:13:"International";
s:8:"username";s:7:"usernameHere";
}
Ben "Bazı Makale Başlığı Part 2," ve benim görünümü yenilemek için title
değeri değişti, ben hala eski Başlık adını görmek ve ben önbellek dosyasına yapılan değişiklikler kaybolur.
Ben bunu yanlış yapıyorum? Nasıl benim önbellek dosyaları benim veritabanında yerine erişilen olup olmadığını test edebilirsiniz? Benim yapılandırma dosyası içeriğini izleyin:
$config['default'] = array
(
'driver' => 'file',
'params' => APPPATH.'cache',
'lifetime' => 1800,
'requests' => 1000
);