导语:这个文章内容与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上去进行页面缓存和数据库缓存,叶子不知道怎么实现,如果有大神知道的话,指导一下就好。