联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
关于数据缓存固定缓存的问题设置缓存获取缓存都没有问题但是删除
类型:迅睿CMS 更新时间:2021-01-17 16:15:03



关于数据缓存固定缓存的问题

设置缓存获取缓存都没有问题,但是删除缓存有问题

\Phpcmf\Service::L('cache')->set_file('xxx', $data);//没有问题
\Phpcmf\Service::L('cache')->get("xxx");//没有问题






\Phpcmf\Service::L('cache')->del_file('xxx');//这里有问题

删除缓存的情况下,我看了下文件是被删除了,但是如果再获取缓存还是有内容

删除缓存,再次执行

\Phpcmf\Service::L('cache')->get("xxx");
还是有内容,而且是之前设置缓存

即便重新再设置缓存内容,还是之前的内容


回帖
  • #1楼    迅睿框架创始人
    2021-01-17 05:30:09
    Google Pixel 手机 0
    后台执行更新数据
  • 迷人的眼
    #2楼    迷人的眼
    2021-01-17 05:33:50
    华为手机 0
    啊,后台更新的话,那是不是每次删除都要更新一次啊?我是在api接口里使用呢,不也不能每调用一次接口都要去后台更新吧,这样不就乱套了?
  • #3楼    迅睿框架创始人
    2021-01-17 11:09:36
    Google Pixel 手机 0
    \Phpcmf\Service::L('cache')->update_data_cache()
  • 迷人的眼
    #4楼    迷人的眼
    2021-01-17 15:30:45
    Chrome 0
    回复迅睿框架创始人 \Phpcmf\Service::L('cache')->update_data_cache()用这个不对吧?
    public function update_data_cache() {
    
            // 清空系统缓存
            \Phpcmf\Service::L('cache')->init()->clean();
    
            // 清空文件缓存
            \Phpcmf\Service::L('cache')->init('file')->clean();
            
            
            我看这个方法也不能清空固定缓存吧
            
            // 删除缓存
        public function clear($name) {
    
            $this->init()->delete('cache-'.SITE_ID.'-'.$name);
            $this->init()->delete(md5('cache-'.SITE_ID.'-'.$name));
    
            // 重置Zend OPcache
            function_exists('opcache_reset') && opcache_reset();
    
        }

    这个方法也跟固定缓存没有关系啊
  • 迷人的眼
    #5楼    迷人的眼
    2021-01-17 15:55:45
    Chrome 0
    回复迅睿框架创始人 没有这个类!!!! \Phpcmf\Service::L('cache')->update_data_cache();
    public function update_data_cache()   这个再模型下


  • 官方研发技术-实习
    #6楼    官方研发技术-实习
    2021-01-17 16:07:17
    Chrome 0


    满意答案
  • 迷人的眼
    #7楼    迷人的眼
    2021-01-17 16:15:03
    Chrome 0
    @官方研发技术-实习:解决了 \Phpcmf\Service::L('cache')->set_file('xxx', $data); //写入 \Phpcmf\Service::L('cache')->del_file('xxx');//删除 \Phpcmf\Service::M('cache')->update_data_cache(); $tdata = \Phpcmf\Service::L('cache')->get("xxx"); 这样子数据就真正的被清空了~~~感谢 感谢