opencart之缓存数据
原标题:opencart之缓存数据
导读:
说到缓存数据,那么我们这里就要说明一下为啥需要缓存数据,在我们游览网站时,网站的商品或其他页面时,大部分页面信息需要查询数据库,每次打开页面时都需要去查询数据库,一旦访问量过多...
文章目录 [+]
-
说到缓存数据,那么我们这里就要说明一下为啥需要缓存数据,在我们游览网站时,网站的商品或其他页面时,大部分页面信息需要查询数据库,每次打开页面时都需要去查询数据库,一旦访问量过多就会增加服务器的负担,所以这里生成缓存数据文件后,它就不会再去查询数据库直接访问缓存文件,这样就能够更快捷更方便的查询到数据信息。
-
下面就给大家示列一个生成缓存的案列(这个生成缓存的方法是opencart自带的方法,可直接生成缓存文件很方便,它的类库文件路径system/library/cache.php,里面的具体方法感兴趣的可自行查看)
这个文件是网站前端商品详情页的controller文件 catalog\controller\product\product.php
①读取缓存文件
//检查是否存在缓存文件 $cache_key = 'product_.'.$this->session->data['language'].'_'.$product_id; //设置缓存文件的名称,我这里是根据网站当前的语言代码和商品id来设置的文件名称,这里我们要尽量确保名称唯一。 $return = $this->cache->get($cache_key); //查找改商品的缓存文件 if ($return) { return $this->response->setOutput($this->load->view('product/product', $return)); }
如下图这个查询缓存文件的代码我们需要放在商品查询之前,否则它就失去了它的意义~
②生成缓存文件
$jsonStr = json_encode($data); //转化数据 $return = json_decode($jsonStr,true);//转化数据 $this->cache->set($cache_key, $return); //将所有数据生成到缓存文件
生成缓存文件的代码需要放在输出模板最后一步之前,因为这样能保证把所有的数据都保存到缓存文件中
3.缓存文件存放的路径 storage\cache, 缓存的方法虽然好用,但在修改和更新商品数据或网站功能之后,一定要记得删除这些缓存文件,或者写一个方法来自动清空这些缓存文件,否则可能会出现异常问题。
有好的文章希望我们帮助分享和推广,猛戳这里我要投稿