php中redis批量删除key的方法是什么
发表于:2024-09-29 作者:千家信息网编辑
千家信息网最后更新 2024年09月29日,小编给大家分享一下php中redis批量删除key的方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php red
千家信息网最后更新 2024年09月29日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安全错误
数据库的锁怎样保障安全
关系数据库中专用的运算
submit 的数据库
命运二服务器tps延迟
数据库技术与应用实践
上海幕智网络技术电话
浙江常用软件开发厂家报价
什么是网络安全预警
免费流量服务器
tbc 服务器离线
数据库如何快速定位到数据记录
哈利波特新服务器有什么特别的
数据库中数据表以什么形式存在
天翼校园网网络安全规定
金华软件开发招聘信息
智慧芽专利数据库
非关系型数据库开发
中国防托数据库
网络技术POP
重庆麦苗网络技术有限公司
ctf网络安全大赛排名kk
江苏上位机软件开发公司
数据库系统上机操作创建数据库
沭阳个性化网络技术市场
西安天迅网络技术有限公司
如何删除数据库中的索引
网络安全保护等级测评师
模具软件开发行业发展前景
在学生管理数据库下创建学生表
ctf网络安全大赛排名kk
计算机网络技术三级怎么样