「提效脚本 redis」 使用Lua批量删除key

在redis里面可以使用keys aa* 进行匹配所有的key,却没办法直接删除所有匹配的key。

所以可以使用lua脚本进行增强。

以删除 suggest* 开头的key为例。

shell 复制代码
eval  "local keys = redis.call('keys', 'suggest*')  for _, key in ipairs(keys) do  redis.call('del', key) end" 0

脚本分析:

lua 复制代码
-- 删除 Redis 中所有已有 'suggest' 前缀的键值对
local keys = redis.call('keys', 'suggest*')
for _, key in ipairs(keys) do
  redis.call('del', key)
end

这是 Redis 的 Lua 脚本语言,意思是:

  1. 使用 Redis 的 eval 命令执行该脚本。
  2. 获取所有以 'suggest' 开头的键名,赋值给 keys 变量。使用 Redis 的 keys 命令实现。
  3. 遍历 keys 变量中的每个键名 key,并执行 redis.call('del', key),即删除对应的键值对。
  4. 返回值 0 表示无需传递参数。

总体来说,这是一个用于删除 Redis 中所有已有 'suggest' 前缀的键值对的脚本。

相关推荐
多多*15 分钟前
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
linux·开发语言·redis·python·bootstrap·lua
success_a1 小时前
大故障:阿里云核心域名爆炸了
数据库·阿里云·云计算
@小红花4 小时前
MySQL数据库从0到1
数据库·mysql·oracle
[听得时光枕水眠]4 小时前
MySQL基础(三)DQL(Data Query Language,数据查询语言)
数据库·mysql·oracle
我科绝伦(Huanhuan Zhou)4 小时前
深入解析Oracle SQL调优健康检查工具(SQLHC):从原理到实战优化
数据库·sql·oracle
陈阿土i7 小时前
SpringAI 1.0.0 正式版——利用Redis存储会话(ChatMemory)
java·redis·ai·springai
bing_1588 小时前
跨多个微服务使用 Redis 共享数据时,如何管理数据一致性?
redis·微服务·mybatis
寒山李白8 小时前
MySQL安装与配置详细讲解
数据库·mysql·配置安装
多多*9 小时前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap
文牧之9 小时前
PostgreSQL 的扩展pg_freespacemap
运维·数据库·postgresql