使用LUA批量删除redis指定key前缀的数据

文章介绍了如何在RedisDesktopManager客户端中操作Redis,特别是针对具有特定前缀的key进行批量删除。通过lua脚本执行删除命令`EVAL`,然后使用`keys`命令校验删除操作是否成功,同时警告不要在生产环境中直接测试删除操作。
摘要由CSDN通过智能技术生成

我使用的是Redis Desktop Manager客户端操作redis。

使用场景:key命名已经修改(类似数据迁移)原key对应的数据就成为了垃圾数据,需清理

1、数据准备

set "attendance:deviceId:111" "aaa"
set "attendance:deviceId:222" "bbb"
set "attendance:deviceId:333" "ccc"

 数据查看命令

keys "attendance:deviceId:*"

 2、删除命令

指定前缀:attendance:deviceId:*

EVAL "local licenseKeys = redis.call('keys', KEYS[1]) for i, v in ipairs(licenseKeys) do redis.call('del', v) end" 1 "attendance:deviceId:*"

3、校验删除的数据是否删除成功,同时要检查其它数据是不是有影响

keys "attendance:deviceId:*"

或者在客户端选中对应db右键刷新

 删数有风险,切勿在生产环境进行验证

redis命令参考:

Redis 命令参考 — Redis 命令参考

lua参考:

Lua 教程 | 菜鸟教程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值