Redis批量删除Key的三种方式小结

 更新时间:2025年07月03日 15:06:46   作者:姚梦蕾  
本文主要介绍了Redis批量删除Key的三种方式小结,包括KEYS+DEL、SCAN+DEL、Lua脚本,需分批处理以减少风险,具有一定的参考价值,感兴趣的可以了解一下

方法一:使用通配符匹配删除

通过KEYS命令配合通配符筛选键值,再传递给DEL命令批量删除:

redis-cli KEYS "user:*" | xargs redis-cli DEL

注意:当键数量超过10^4时,建议分批处理。使用SCAN替代KEYS可避免阻塞:

redis-cli --scan --pattern "cache:*" | xargs -L 1000 redis-cli DEL

方法二:Lua脚本原子操作

通过执行Lua脚本实现原子化批量删除(Redis 2.6+支持):

local keys = redis.call('KEYS', ARGV[1])
for i=1,#keys,5000 do
    redis.call('DEL', unpack(keys, i, math.min(i+4999, #keys)))
end
return #keys

执行命令:

redis-cli EVAL "$(cat delkeys.lua)" 0 "order_*"

方法三:管道批量处理

利用redis-cli管道特性实现高效删除:

redis-cli --scan --pattern "temp_*" | \
awk '{print "DEL "$0}' | \
redis-cli --pipe

方案对比与选型建议

方式适用场景风险控制性能影响
KEYS+DEL测试环境、小数据量
SCAN+DEL生产环境、大数据量
Lua脚本需要原子性、复杂逻辑

注意事项:

  • 所有删除操作不可逆,建议先备份数据
  • 复杂匹配模式建议用SCAN替代KEYS
  • 超大数据量可拆分多次执行,避免内存溢出

到此这篇关于Redis批量删除Key的三种方式小结的文章就介绍到这了,更多相关Redis批量删除Key内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Redis sort 排序命令详解

    Redis sort 排序命令详解

    这篇文章主要介绍了Redis sort 排序命令详解,本文讲解了默认排序命令、排序方式命令、BY语法、GET用法示例等内容,需要的朋友可以参考下
    2015-07-07
  • Redis中原子性操作的的实现

    Redis中原子性操作的的实现

    本文主要介绍了Redis的原子性操作,包括其单线程模型和命令队列机制,原子性的边界,及通过事务和Lua脚本实现多命令的原子性,具有一定的参考价值,感兴趣的可以了解一下
    2025-11-11
  • Redis 5.05 单独模式安装及配置方法

    Redis 5.05 单独模式安装及配置方法

    这篇文章主要介绍了Redis 5.05 单独模式安装,文中通过代码给大家介绍了Redis 5.0.5 单节点 安装配置方法,需要的朋友可以参考下
    2019-10-10
  • RedisDesktopManager无法远程连接Redis的完美解决方法

    RedisDesktopManager无法远程连接Redis的完美解决方法

    下载RedisDesktopManager客户端,输入服务器IP地址,端口(缺省值:6379);点击Test Connection按钮测试连接,连接失败,怎么回事呢?下面小编给大家带来了RedisDesktopManager无法远程连接Redis的完美解决方法,一起看看吧
    2018-03-03
  • Win10配置redis服务实现过程详解

    Win10配置redis服务实现过程详解

    这篇文章主要介绍了Win10配置redis服务实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 基于Redis有序集合实现滑动窗口限流的步骤

    基于Redis有序集合实现滑动窗口限流的步骤

    滑动窗口算法是一种基于时间窗口的限流算法,通过动态地滑动窗口,可以动态调整限流的速率,Redis有序集合可以用来实现滑动窗口限流,本文介绍基于Redis有序集合实现滑动窗口限流,感兴趣的朋友一起看看吧
    2024-12-12
  • Redis中的有序集合zset从使用到原理分析

    Redis中的有序集合zset从使用到原理分析

    Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占用可控,需注意成员大小优化及大集合分片处理
    2025-09-09
  • K8S redis 部署的项目实践

    K8S redis 部署的项目实践

    本文主要介绍了K8S redis 部署的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • Redis key的过期时间和永久有效的实现

    Redis key的过期时间和永久有效的实现

    在Redis中,键可以设置过期时间或被永久保存,`EXPIRE`和`PEXPIRE`命令分别用于设置键的过期时间,具有一定的参考价值,感兴趣的可以了解一下
    2024-09-09
  • 详解如何使用Redis实现分布式锁

    详解如何使用Redis实现分布式锁

    Redis 作为一个独立的三方系统,其天生的优势就是可以作为一个分布式系统来使用,因此使用 Redis 实现的锁都是分布式锁,所以本文就给大家讲讲如何使用Redis实现分布式锁,感兴趣的小伙伴跟着小编来看看吧
    2023-08-08

最新评论