php ci框架 页面缓存和数据库缓存

ci中的页面缓存和数据库缓存会以文件的方式缓存数据。

数据库缓存特点:

1.缓存文件永久存在;

2.只对页面中的数据进行缓存,不缓存html部分。这意味着可以任意的修改html而不会影响页面展示效果,相反数据表中有新记录时该缓存也不会更新;

3.可以任意设置哪条sql语句被缓存,哪条sql语句不被缓存;

4.不同URL对应不同的缓存文件

例子一:全局设置db cache

database.php文件中修改

'cache_on' => TRUE,// true:开启数据库缓存,false:关闭
'cachedir' => 'D:/www/www.ci.com/application/site1/db_cache',// 缓存目录
例子二:按选择性生成db cache

public function index()
{
    //$this->file_cache();// 页面缓存

    $this->db->cache_on();$data['news_item2'] = $this->news_model->get_news('3b');$this->db->cache_off();// 手动开启数据库缓存

    $data['news'] = $this->news_model->get_news();
    $data['title'] = 'News archive';

    $this->load->view('templates/header', $data);
    $this->load->view('news/index', $data);
    $this->load->view('templates/footer');
}


页面缓存特点:

1.自由设置缓存过期时间

例子:

public function file_cache()
{
    $minute = 2;// 缓存过期时间
    $this->output->cache($minute);
}


2.缓存某个URL对应的页面(其中包含html+数据),实际上这个缓存文件只是一个静态页面而已。修改html需要等待缓存过期,效果才会生效。

3.不同URL对应不同的缓存文件


缓存机制没有好坏之说,关键在于适用于否。

(完)


你可能感兴趣的:(php)