导语:这个文章内容与WordPress无关,只是叶子在开发过程中遇到了,就写下来。开始叶子也走了很多弯路的,希望大家看了以后,就不要再走弯路了。
页面缓存
codeigniter 3.0开启页面缓存很简单,就在控制器(controllers)中添加一行代码就是可以,这样会在application > cache 的目录下面产生缓存文件。注意,这个目录要有读写权限。
$this->output->cache(10);
10表示缓存文件10分钟过期。下面的代码是控制器Device.php的index函数,叶子在里面加了缓存代码。Device.php是叶子自己写的业务代码。
public function index()
{
//开启缓存
$this->output->cache(10);
if ($_SESSION['LOGGED_IN'] == true){
$data = array(
'treeview' => '10004',
'treeviewmenu' => '24004',
'menu' => $this->menumodel->get_menu()
);
$datacss["cssdata"] = "";
$datascripts["scripts"] = "/static/js/zwgj.js";
$this->load->view('/global/header',$datacss);
$this->load->view('/global/sidebar', $data);
$this->load->view('device');
$this->load->view('/global/footer',$datascripts);
}else{
redirect('login');
}
}
数据库缓存
codeigniter 3.0开启数据库缓存很简单,有两种方法,叶子这里说的是开启自动的数据库全局缓存。修改application > config > database.php文件,将cache_on参数改为TRUE,cachedir参数填写目录路径,如下。
$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST)))';
$db['default'] = array(
'dsn' => '',
'hostname' => $tnsname,
'username' => 'test',
'password' => 'test',
'database' => '',
'dbdriver' => 'oci8',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => TRUE,
'cache_on' => TRUE,
'cachedir' => '/www/application/dbcache',
'char_set' => 'zhs16gbk',
'dbcollat' => '',
'swap_pre' => '',
'autoinit' => TRUE,
'stricton' => FALSE
);
注意,/www/application/dbcache,这个路径是从根目录开始的绝对路径,dbcache需要自己创建,并要有读写权限。叶子连接的是ORACLE数据库,连接其他数据库开启缓存也一样。
路径最好写全路径,叶子开始写的相对路径,缓存总是不成功,改绝对路径就好了。
结束
上面说的codeigniter 3.0的缓存是利用文件缓存的方式,如果想切换到memcached上去进行页面缓存和数据库缓存,叶子不知道怎么实现,如果有大神知道的话,指导一下就好。




