欢迎访问WDPHP素材源码!今天是2024年04月19日 星期五,天亮要了!
您好,游客 [ 马上登录 | 注册帐号 | 微信登录 | QQ登录]
当前位置:首页 > 教程 > PHP教程 > 

THINKPHP5报错 Function Redis::delete() is deprecated解决方法
栏目分类:PHP教程    发布日期:2019-09-27    浏览次数:9075次     收藏

“Function Redis::delete() is deprecated”从字面理解就是Redis缓存的delete()函数被弃用了。这个问题一般只出现在新版本的php-redis插件中,旧版本不影响。
解决方法:将 delete($key) 改成 del($key) 的操作,或者切换PHP版本即可。

如果在此之前你采用的是TP5框架的,可以直接修改/thinkphp/library/cache/driver/redis.php第156行。

/**
     * 删除缓存
     * @access public
     * @param string $name 缓存变量名
     * @return boolean
     */
    public function rm($name)
    {
        //return $this->handler->delete($this->getCacheKey($name));
        return $this->handler->del($this->getCacheKey($name));
    }
    /**
     * 清除缓存
     * @access public
     * @param string $tag 标签名
     * @return boolean
     */
    public function clear($tag = null)
    {
        if ($tag) {
            // 指定标签清除
            $keys = $this->getTagItem($tag);
            foreach ($keys as $key) {
                //$this->handler->delete($key);
                $this->handler->del($key);
            }
            $this->rm('tag_' . md5($tag));
            return true;
        }
        return $this->handler->flushDB();
    }
拓展:被弃用的其他函数及替代函数。

相关热词: RedisTHINKPHPTHINKPHP5

源码 模板 特效 素材 资源 教程 站长