php中redis批量删除key的方法是什么
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,小编给大家分享一下php中redis批量删除key的方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php red
千家信息网最后更新 2025年02月02日php中redis批量删除key的方法是什么
小编给大家分享一下php中redis批量删除key的方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
php redis删除key的方法:首先使用scan命令增量迭代的方式遍历出以【XX】为前缀的key;然后通过unlink函数删除指定的key即可。
php redis批量删除key
摘要
使用scan命令增量迭代的方式遍历出以XX为前缀的key,然后删除
简介
在实际开发中,一不小心redis就会混入一些无用的数据,比如某位大哥忘记给加上缓存时间,或者因为业务修改需要将数据结构list改为zset,之前的缓存就没用了,但是过期时间有点长,这时候就需要批量删除key。如果使用keys命令遍历出符合条件的keys,会阻塞redis的其他操作,在生产环境是肯定不行的,于是祭出scan命令大杀器。
代码
/** 在redis集群中,scan命令需要指定节点。还需要注意,要连接主节点。**/$redis = new \Redis();$timeout = 2.5;$ip = '127.0.0.1';$redisConfArr = [ [$ip, 8001], [$ip, 8002], [$ip, 8003]];foreach ($redisConfArr as $redisConf) { $redis->pconnect($redisConf[0], $redisConf[1], $timeout); //默认SCAN_NORETRY情况下有可能会返回空数组,设置成SCAN_RETRY,如果是空数组的话,将不返回继续扫描下去 $redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_RETRY); $it = NULL; while ($arr_keys = $redis->scan($it, CacheKeyConfig::CachePre.'*')) { if (is_array($arr_keys)) { //推荐使用unlink函数,非阻塞删除,删除大key时很好用,但是它需要redis版本>=4.0 $result = $redis->del($arr_keys); echo $result . PHP_EOL; } } echo "OK!" . PHP_EOL;}
以上是php中redis批量删除key的方法是什么的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
命令
方法
内容
函数
前缀
增量
数据
数组
方式
时间
篇文章
缓存
节点
迭代
阻塞
不行
一不小心
下有
不怎么
业务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
局域网查看服务器ip
高中网络安全和法律法规
山东联通服务器租用
私服服务器
数据库文件为什么不储存用户数据
学服务器烧钱吗
免费数据库空间
云服务器安全软件
行程卡数据库多久更新一次
网络安全手抄报好看视频
西安软件开发科技外包
第七届中国网络安全年会
荔湾物联网软件开发定制
迷你世界是否有服务器
江苏专业软件开发设计
数据库869
简氏系列数据库
近代史数据库台湾
2022年燃烧的远征哪个服务器
软件开发和游戏开发有啥区别
搜索六年级网络安全宣传手抄报
数据中心服务器厂家供应
河北大秦网络技术有限公司
服务器带电池
cad软件开发工具
杨浦区参考网络技术咨询报价
sql直接读取数据库
计算机网络安全286条
甜品店数据库课程设计
广东无限软件开发报价表