问题描述
我在 64 位 Amazon Linux/2.9.12 上运行的 AWS Elastic Beanstalk PHP 7.3 上运行应用程序,最近我开始收到以下错误 -
Call to undefined method Redis::delete()
我有一个可以写入和读取的 Redis 缓存配置。但是当我尝试删除相同的内容时,出现上述错误。这在以前是不会发生的。我已经正确配置了缓存,如下所示
Cache::config('1min',[
'engine' => CACHE_ENGINE,'server' => CACHE_HOST,'port' => CACHE_PORT,'prefix' => CACHE_PREFIX,'duration'=>'+1 minute'
]);
我可以执行以下操作
Cache::write('cache1','value','1min');
Cache::read('cache1','1min');
Cache::delete('cache1','1min');
我收到上述错误。
我正在使用通过 .ebextensions 安装的 PHPredis。我正在通过此链接下载软件包 -
https://github.com/PHPredis/PHPredis/archive/develop.zip -O PHPredis.zip
经过一番研究,我发现Redis.PHP中的删除功能已被弃用,因为即将被删除。当我更改 RedisEngine.PHP 文件(这是一个 CakePHP 库文件,通过 Composer 作为依赖项下载)中的函数调用时,来自
的第 176 行public function delete($key) {
return $this->_Redis->delete($key) > 0;
}
到
public function delete($key) {
return $this->_Redis->del($key) > 0;
}
缓存删除工作正常。这在以前是不会发生的。如果我能尽早得到这方面的帮助,我将不胜感激。
谢谢!