logo
企业级电子商务与供应链解决方案供应商.
联系我们

+86-13006619568

info@cnopencart.com

深圳,苏州,成都,上海,杭州

扫二维码加微信
wechat

深圳,苏州,成都,上海,杭州

+86-13006619568

Top

opencart之缓存数据

opencart之缓存数据

原标题:opencart之缓存数据

导读:

说到缓存数据,那么我们这里就要说明一下为啥需要缓存数据,在我们游览网站时,网站的商品或其他页面时,大部分页面信息需要查询数据库,每次打开页面时都需要去查询数据库,一旦访问量过多…

文章目录 [+]

  1. 说到缓存数据,那么我们这里就要说明一下为啥需要缓存数据,在我们游览网站时,网站的商品或其他页面时,大部分页面信息需要查询数据库,每次打开页面时都需要去查询数据库,一旦访问量过多就会增加服务器的负担,所以这里生成缓存数据文件后,它就不会再去查询数据库直接访问缓存文件,这样就能够更快捷更方便的查询到数据信息。

  2. 下面就给大家示列一个生成缓存的案列(这个生成缓存的方法是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));
}

     如下图这个查询缓存文件的代码我们需要放在商品查询之前,否则它就失去了它的意义~
     opencart之缓存数据-OpenCart - 中文官方网站 | 免费开源商城系统 - OpenCart模板|OpenCart二次开发|OpenCart插件|OpenCart微信|OpenCart APP
      ②生成缓存文件

$jsonStr = json_encode($data);   //转化数据
$return = json_decode($jsonStr,true);//转化数据
$this->cache->set($cache_key, $return); //将所有数据生成到缓存文件

    生成缓存文件的代码需要放在输出模板最后一步之前,因为这样能保证把所有的数据都保存到缓存文件中
  2.png

    3.缓存文件存放的路径 storage\cache, 缓存的方法虽然好用,但在修改和更新商品数据或网站功能之后,一定要记得删除这些缓存文件,或者写一个方法来自动清空这些缓存文件,否则可能会出现异常问题。

EM~0FI1X3((}YEIBDU~L552.png

有好的文章希望我们帮助分享和推广,猛戳这里我要投稿