Deprecated: Function Redis::delete() is deprecated

Deprecated: Function Redis::delete() is deprecated

蓝科迪梦
2022-11-24 / 0 评论 / 345 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年11月24日,已超过707天没有更新,若内容或图片失效,请留言反馈。
PHP 操作 Redis 时遇到如下的问题

Deprecated: Function Redis::delete() is deprecated



原因:php-redis 5 版本弃用了 Redis::delete()

php -r 'phpinfo();'



运行上述命令在输出中找到 redis,看到为 5.0.1 版本





解决方法:将 delete($key) 改成 del($key) 的操作即可

附:被弃用的方法名的解决

被弃用方法名    替代方法名

delete    del

zUnion    zunionstore

zInter    zinterstore

zDeleteRangeByRank    zRemRangeByRank

zDeleteRangeByScore    zRemRangeByScore

zDelete    zRem

setTimeout    expire

sContains    sismember

sRemove    srem

sSize    scard

lGetRange    lrange

lGet    lindex

listTrim    ltrim

lRemove    lrem

lSize    lLen

getKeys    keys

getMultiple    mget

renameKey    rename

参考:

https://www.drupal.org/project/redis/issues/3068810 this is caused by the update to php-redis 5, apparently only in the PHP 7.3 images. 这是由于更新至 php-redis 5 版本后所造成的,很明显只会在 PHP 7.3 出现

https://github.com/phpredis/phpredis/pull/1588 all aliases are deprecated & delete is an alias for del 所有的别名被弃用 & delete 之前是作为 del 的别名

https://pecl.php.net/package-changelog.php?package=redis&release=5.0.0 Soft deprecate methods that aren't actually Redis commands [a81b4f2d, 95c8aab9] 被弃用的方法实际上并不是 Redis 本身自带的命令

https://github.com/phpredis/phpredis/pull/1572
0

评论

博主关闭了所有页面的评论