php redis删除所有key,php redis批量删除key的方法

article/2025/9/26 9:39:38

php redis删除key的方法:首先使用scan命令增量迭代的方式遍历出以【XX】为前缀的key;然后通过unlink函数删除指定的key即可。

708ded9c6557ada662010a0d6d74b8e6.png

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;

}


http://chatgpt.dhexx.cn/article/eCLKgP2a.shtml

相关文章

redis删除指定key

redis删除指定key 1.打开redis目录并打开redis-cli.exe 如果直接输入get key会出现以下问题,表示需要认证,也就是需要登录用户 使用auth password登录即可 然后使用get key获取键的值 确认后,使用del key删除键中的值,可多个…

【Redis】批量删除Key的三种方式

Redis 中有删除单个 Key 的指令 del,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux的 xargs 指令来完成这个动作 1.使用命令行批量删除redis的key 语法 ./redis-cli -h IP -p PORT -a PASSWORD -n NUM keys key* | xargs ./redis-cli -h IP…

redis删除key命令

如何批量删除redis中keys 在linux中批量操作redis中的keys的方法: 1.统计个数: redis中名称含有OMP_OFFLINE的key的个数; src/redis-clikeys"*OMP_OFFLINE*"|wc-l 2.批量删除 批量删除0号数据库中名称含有OMP_OFFLINE的key&#xf…

当做一件事,坚持到第二十年——Open-SkyEye强势回归!

1.故事起源 这个故事要从2002年的冬天说起。彼时北方的天气已经有些冷冽,一群操作系统爱好者正热切地在网络上讨论时下热门技术话题:如何脱离硬件限制来学习和研究操作系统的原理,用“软件模拟硬件”的奇妙想法随之诞生。这群技术爱好者中就…

基于SkyEye的覆盖率测试

目录 01.覆盖率测试概念 02.覆盖率测试方法 03.嵌入式软件覆盖率测试原理 04.SkyEye的重大突破 01.覆盖率测试概念 覆盖率测试是一种白盒测试手段,通常会在软件测试的早期阶段进行,也就是单元测试过程中。覆盖率测试这种测试方式需要对测试代码本身进行访问同时…

SkyEye 仿真

http://www.cnitblog.com/schkui/default.html?page4 SkyEye是一个可以运行嵌入式操作系统的硬件仿真工具,这样就可以在没有硬件条件下来进行嵌入式系统的开发。 以下操作均在Fedora Core 1.0里通过。 Skyeye项目资源列表 http://gro.clinux.org/projects/skyeye/ …

SkyEye的使用

转载:http://blog.csdn.net/htttw/article/details/7226754 对于希望学习ARM汇编的同学而言, 购买ARM开发板进行板上实测无疑是一个有效的方法,不过购买ARM开发板需要一笔费用,而且每次测试都需要连接开发板,比较麻烦。…

SkyEye安装与使用

一. SkyEye配置选项 SkyEye模拟的硬件配置和模拟执行行为由配置文件skyeye.conf中的选项确定。根据选项的功能,skyeye.conf的选项分为硬件配置选项和模拟执行选项。根据参数的个数,skyeye.conf的选项主要由两种组成: 单参数选项…

use skyeye

操作系统 :LINUX ES3 版本 :2.4.21-9ELSKYEYE 版本 : V0.8.0http://gro.clinux.org/projects/skyeye 下载最新的SkyEy软件 1、下载SKYEYE的原代码包skyeye-v0.x.x.tar.bz2 这里就不写怎样配置安装SKYEYE了,因为我编译没成功&…

SkyEye助力飞控软件Debug

​01.Debug是什么? 1947年9月9日,美国著名科学家格蕾丝.霍普(Grace Hopper)与其同伴在对Mark II计算机进行研究时发现,导致计算机无法正常工作的罪魁祸首居然是一只粘在继电器上的小飞蛾。格蕾丝用镊子将飞蛾夹出&…

手把手教你搭建国产嵌入式模拟器SkyEye开发环境

SkyEye介绍 SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"…

【基于CentOS 7 的NFS服务】

目录 一、概述 二、应用场景 三、安装 四、启动服务 五、目录结构 1.nfs的主配置文件 2.存储配置文件 六、命令解析 1.共享存储管理命令 2.共享目录查看 七、配置 八、客户端访问 1.查看nfs服务器的共享目录 2.挂载 九、实际案例 一、概述 network filesystemt…

Linux——nfs服务配置

启动nfs,一定要先启动rpc Systemctl start rpcbind Systemctl start nfs 停止nfs Systemctl stop nfs 开机自启nfs Systemctl enable rpcbind Systemctl enable nfs 配置网络环境 服务端ens36,配置为192.168.100.254 客户端ens33,配…

安装NFS服务

NFS服务 mhcwz 已于 2022-04-29 19:43:54 修改 68 收藏 1 分类专栏: Linux 文章标签: 运维 linux 服务器 于 2022-03-17 19:33:17 首次发布 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文…

Linux-NFS服务器搭建

一、理论知识 1.NFS概念 NFS是Network File System(网络文件系统)。 主要功能是通过网络让不同的服务器之间可以共享文件或者 目录。 NFS客户端一般是应用服务器(比如web,负载均衡等),可以通…

Linux NFS服务

NFS服务 一、NFS简介 NFS(Network File System)即网络文件系统,它允许网络中的不同计算机相互之间共享资源。NFS客户端可以透明地读写远程NFS服务器上的文件,就像访问本地文件一样。 二、NFS服务概述 NFS是1980年由SUN发展出来在…

NFS服务

文章目录 一,NFS共享存储服务1.NFS网络文件系统2.NAS存储3.端口号4.特点 二,NFS配置实验步骤总结 三,ssh服务1.SSH远程登陆方式登陆方法一登录方法二 四,SSHD 服务支持两种验证方式1.密码验证2.密钥对验证3.公钥和私钥的关系4.构建…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS? NFS挂载原理: RPC与NFS通讯原理: NFS客户端和NFS服务器通讯过程: Linux下NFS服务器部署 NFS服务所需软件及主要配置文件: 服务端安装NFS服务步骤: NFS客户端挂载配置…

CentOS——nfs服务

一.在服务器端的操作(IP地址:192.168.2.200) 1.下载nfs服务 yum -y install rpcbind nfs-utils 2.关闭防火墙 systemctl stop firewalldc setenforce 0 ; 3. 编辑配置文件 vim /etc/exports 添加内容为: /data/…

NFS服务的搭建

NFS 目的是让不同计算机不同操作系统之间可以彼此共享文件。 采用服务器/客户端工作模式 在NFS服务器上将目录设置为输出目录(共享目录)后,客户端就可以将这个目录挂载到自己系统中的某个目录下。 什么是RPC守护进程 使用NFS服务&#xf…