采坑记录:Function Redis::delete() is deprecated

php报错Function Redis::delete() is deprecated

原因redis弃用了delete函数,此报错一般是phpredis插件的使用

解决犯法:把delete方法改成del

如果在此之前你采用的是TP5框架或者使用波波开源项目tp-admin的,可以直接修改/thinkphp/library/cache/driver/redis.php第156行。

    /**
     * 删除缓存
     * @access public
     * @param string $name 缓存变量名
     * @return boolean
     */
    public function rm($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->del($key);
            }
            $this->rm('tag_' . md5($tag));
            return true;
        }
        return $this->handler->flushDB();
    }

参考:

https://www.amsds.cn/index.php/archives/139/

https://www.zkii.net/tech/php/2393.html

 

 

你可能感兴趣的:(php)