PHP 多个redis key 删除遇到Function Redis::delete() is deprecated 【已解决】

摘要: 原因:php-redis 5 版本弃用了 Redis::delete(),解决方法:将 delete($key) 改成 del($key) 的操作即可

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

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

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

被弃用方法名替代方法名
deletedel
zUnionzunionstore
zInterzinterstore
zDeleteRangeByRankzRemRangeByRank
zDeleteRangeByScorezRemRangeByScore
zDeletezRem
setTimeoutexpire
sContainssismember
sRemovesrem
sSizescard
lGetRangelrange
lGetlindex
listTrimltrim
lRemovelrem
lSizelLen
getKeyskeys
getMultiplemget
renameKeyrename
  • 参考:

    • 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


接下来开始删除redis 多个key缓存:

$keys = 'mykey*';
$redis->delete($redis->keys($keys));

image.png

关于connRedis 可以看上篇文章,

image.png

本文由 帝一博客 原创发布。用户在本站发布的原创内容(包括但不仅限于回答、文章和评论),著作权均归用户本人所有。独家文章转载,请联系邮箱:17762131@qq.com。获得授权后,须注明本文地址: https://bubukou.com/phpjiqiao/1553.html

网友留言评论

0条评论