Redis批量删除指定前缀的key


    在redis-cli中键入命令,批量删除前缀为business_login_tokens:的key:

eval "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 'business_login_tokens:*'



    在Redis中,EVAL命令用于执行Lua脚本。这个特定的命令是用来批量删除具有特定前缀的键的。下面是这个命令的详细解释

  • EVAL: 这是Redis命令,用于执行一个Lua脚本。
  • return redis.call('del', unpack(redis.call('keys', ARGV[1]))): 这是Lua脚本的内容。
    • redis.call('del', ...):调用Redis的DEL命令来删除一个或多个键。...表示这里将传入一个或多个键作为参数。
    • unpack(redis.call('keys', ARGV[1])): 在执行DEL命令之前,首先通过redis.call('keys', ARGV[1])调用查找所有匹配ARGV[1]模式的键。ARGV[1]是Lua脚本中的参数,代表从外部传入的第一个参数。keys命令返回的是一个包含所有匹配键名的数组。unpack函数则用来将这个数组展开成一系列单独的参数传递给DEL命令。
  • 0: 这个数字是Lua脚本的参数数量的计数。在这个例子中,因为我们在脚本内部直接使用了ARGV[1],所以外部传递给EVAL命令的参数实际上只有一个(即键的模式),因此计数为0。但这里可能存在混淆,通常如果直接使用ARGV的话,这里的计数应与ARGV中实际使用的参数数目对应,因此正确的计数应该是1而不是0,表示有一个外部参数传递给了脚本。
  • 'business_login_tokens:*': 这是传递给Lua脚本的实际参数,即ARGV[1]的内容。它是一个模式,表示所有以business_login_tokens:为前缀的键。这些键将会被前面提到的Lua脚本找到并删除。

        综上所述,整个命令的作用是删除所有以business_login_tokens:为前缀的键。这是一种清理特定类型缓存条目的高效方式,但需要注意的是,在生产环境中直接使用KEYS命令可能会影响性能,特别是在大数据集上,因为它会遍历整个数据库。因此,这种操作更适用于维护任务或者数据量可控的情况。对于大规模操作,建议使用更安全和高效的方法,如SCAN命令配合Lua脚本来逐步处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#结合JS实现HtmlTable动态添加行并保存到数据库

目录 需求 效果视频演示 范例运行环境 准备数据源 数据表设计 UI及表结构Json配置 Json数据包提交配置 设计实现 前端UI Javascript 脚本 Jquery引用 C# 服务端操作 小结 需求 在 Web 应用项目中,实现一对多录入的数据管理功能是一项常见的应用。因此…

深度学习模型压缩技术分析

模型压缩概述 模型压缩是指通过各种技术手段来减小机器学习模型的大小,以减少存储空间、加快推理速度和降低计算成本的过程。这种技术可以帮助在资源受限的设备上部署更大的模型,提高模型的效率和性能。 模型压缩有多种方法,包括模型剪枝、…

JVM-调优之-如何使用arthas-观察jvm-cpu-内存-垃圾回收等信息

前言: 可以简单代替把dump文件下载下来后用visualvm分析了;跟visualvm类似的; docker中如何安装arthas看这个:docker中怎么使用arthas_arthas 集成到容器镜像-CSDN博客 curl -O https://arthas.aliyun.com/arthas-boot.jar wget …

头歌OpenGauss数据库-I.复杂查询第9关:交换性别

任务描述 本关任务:给定一张 tb_Salary 表,如下所示,有 m 男性 和 f 女性的值。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。 idnamesexsalary1Elonf70002Donnyf80003Careym60…

npm,yarn,cnpm,tyarn,pnpm 安使用装配置镜像

npm 安装 安装node后就可以使用了 官方默认地址 npm config set registry https://registry.npmjs.org 镜像 npm config set registry https://registry.npm.taobao.org npm config set registry http://registry.npmmirror.org全局安装依赖 npm install -g <包名&g…

软考之零碎片段记录(三十一)+复习巩固(错题整理,知识点总结,易错题)

1. 奇偶校验 只能检测一位数的错误。但无法纠正错误。若有奇数个数据位出错&#xff0c;可检测。有局限性。 2. 深度与广度优先遍历 参考题【【数据结构自用】1.图深度优先遍历2.找有向图中的强连通分量数目3.给出图的任意两个拓扑序列】https://www.bilibili.com/video/BV…

在Github上寻找安装ROS软件包

1、创建一个功能包 并下载git sudo apt install git 2、找到自己想在github上要克隆的包 复制此链接 3、克隆到本地 git clone 链接 4.scripts目录用于放置脚本文件和python程序 使用脚本安装编译需要的依赖库 5、下载完成后&#xff0c;在~catkin_ws目录下运行catkin_make进…

【退役之重学Java】关于Spring Cloud 微服务和分布式

一、微服务是什么 微化拆分&#xff1a; 拒绝大型单体应用&#xff0c;基于业务边界进行服务微化拆分&#xff1b;独立部署&#xff1a; 通过完全自动化部署机制来独立部署独立运行&#xff1a; 各个服务独立运行在自己的进程中&#xff1b;轻量级通信&#xff1a; 微服务之间使…

HTTP响应的基本概念

目录 HTTP响应中的一些信息 HTTPS HTTP响应中的一些信息 状态码&#xff1a;描述了这次HTTP请求是否成功&#xff0c;以及失败的原因。 1&#xff09;200 ---OK 表示这次访问成功了。 2&#xff09;404 ---Not Found 表示客户端请求的资源在服务器这边不存在。 3&a…

二叉树的链式实现

目录 一、二叉树的基础操作 二、二叉树代码图解 2.1 遍历 2.2 求大小 2.3 创建与销毁 2.4 与队列结合解决问题 三、二叉树C语言源码汇总 二叉树的代码实现运用了函数递归的思想&#xff0c;了解函数递归的知识请见博主的另一篇博客&#xff1a; http://t.csdnimg.cn/Po…

SRE视角下的DevOps:构建稳定高效的软件交付流程

SRE 和 DevOps 有什么区别和联系&#xff1f;本文对此进行了解读&#xff0c;并着重从 SRE 实践出发阐述了 DevOps 的建设思路。 SRE 就是在用软件工程的思维和方法论完成以前由系统管理员团队手动完成的工作。SRE 的职责是运维一个服务&#xff0c;该服务由一些相关的系统组件…

【深度学习】yolov8 seg实例分割训练,交通灯

文章目录 一、类别定义二、标注后再清洗数据三、训练yolov8 seg四、部署五、代码资料 一、类别定义 类别0&#xff1a; 类别1&#xff1a; 类别2&#xff1a; 类别3&#xff1a; 类别4&#xff1a; 类别5&#xff1a; 类别6&#xff1a; 类别7&#xff1a; 二、标注后再清洗…

同名在线查询系统微信小程序源码下载支持多种流量主,附带系统教程

同名在线查询系统微信小程序源码下载支持多种流量主这是一款支持查询同名的一款微信小程序 该款小程序支持多种查询模式 重名查询&#xff0c;热度查询&#xff0c;概率香查询 源码免费下载地址抄笔记(chaobiji.cn)

Cisco ASA防火墙抓包命令Capture

在日常运维中&#xff0c;遇到故障时经常需要在ASA上抓包进行诊断。 从抓包中可以看到流量是否经过ASA流量是否被ASA放行&#xff0c;或block&#xff0c;匹配的哪一条ACL capture在Firepower平台上同样适用&#xff0c;无论跑的是ASA还是FTD 1 抓包命令 capture 2 配置方…

Keras深度学习框架第二十讲:使用KerasCV中的Stable Diffusion进行高性能图像生成

1、绪论 1.1 概念 为便于后文讨论&#xff0c;首先进行相关概念的陈述。 Stable Diffusion&#xff1a;Stable Diffusion 是一个在图像生成领域广泛使用的技术&#xff0c;尤其是用于文本到图像的转换。它基于扩散模型&#xff08;Diffusion Models&#xff09;&#xff0c;这…

Aiseesoft iPhone Unlocker for Mac激活版:一键解锁工具

在数字时代&#xff0c;手机解锁问题时常困扰着我们。Aiseesoft iPhone Unlocker for Mac作为一款专为Mac用户打造的解锁工具&#xff0c;以其简洁易用的界面和强大的功能&#xff0c;成为了解决iPhone解锁问题的最佳选择。 Aiseesoft iPhone Unlocker for Mac激活版下载 Aisee…

Flutter 中的 PopupMenuDivider 小部件:全面指南

Flutter 中的 PopupMenuDivider 小部件&#xff1a;全面指南 在Flutter中&#xff0c;PopupMenuDivider是一个辅助类&#xff0c;用于在PopupMenuItem之间添加分隔线&#xff0c;从而增强下拉菜单的可读性和用户界面的整洁度。PopupMenuDivider通常与PopupMenuButton和PopupMe…

uml 顺序图 交叉分片

在UML序列图中&#xff0c;交叉分片&#xff08;interleaving&#xff09;是指并发执行的两个或多个交互在时间上是分散的&#xff0c;即它们在时间上可以交叉。这通常用于描述并发线程或进程。 交叉分片不涉及具体的代码实现&#xff0c;它是一种用于描述并发行为的UML构造。…

redisson 使用fastJson2序列化

前因&#xff1a;一个项目&#xff1a;有人用redisTemplete存数据&#xff08;使用了fastjson2&#xff09;&#xff0c;使用redisson取的时候就会报错。要让redisTemplete与redisson序列化一致 一、自定义序列化器 import com.alibaba.fastjson2.JSON; import com.alibaba.fa…