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

 更新时间:2023年04月10日 10:54:39   作者:qq_25106373  
本文主要介绍了Redis批量删除Key的三种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Redis 中有删除单个 Key 的指令 del,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux的 xargs 指令来完成这个动作

一.使用命令行批量删除redis的key

语法

./redis-cli -h IP -p PORT -a PASSWORD -n NUM keys ‘key*’ | xargs ./redis-cli -h IP -p PORT -a PASSWORD -n NUM del

IP:redis服务器的IP地址PORT:redis服务的端口PASSWORD :redis服务的密码NUM:redis库的下标

记得以上批量删除,需要退出redis的命令行模式下操作。必须要指定redis的路径

连上redis
./redis-cli -h ip -p 端口 -a 密码选择数据库

select 数据库下标

模糊查询key是否存在
keys ‘UPLOAD_*’

执行exit命令 退出redis删除 端口为 6585 密码为 123456 且数据库为1 中所有UPLOAD_开头的key

/usr/bin/redis-cli -n 1 -p 6585 -a 123456 keys ‘UPLOAD_*’ | xargs /usr/bin/redis-cli -n 1 -p 6585 -a 123456 del

二.使用图形界面工具RedisDesktopManager

新版本的RedisDesktopManager目前支持通过分组批量删除key

打开软件,点击左下角的“Connect to Redis Server”新建redis链接

配置:

连接的别名(Name:自定义)
Host(redis服务的ip)
端口(port)
密码(Auth)连接到redis服务

选择库,并模糊匹配key

在需要删除的key分组上右击“Delete Namaspace”删除分组

三.使用jedis批量删除keys

引入jedis包

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.7.0</version>
</dependency>

使用jedisApi连接redis

//连接redis ,redis的默认端口是6379
Jedis  jedis = new Jedis ("localhost",6379); 

//验证密码,如果没有设置密码这段代码省略
jedis.auth("password"); 
//连接
jedis.connect();

//断开连接
jedis.disconnect();

编写批量删除的方法

方法将需要删除的key转换成数组传入jedis.del(keys)批量删除key

 // java代码
    public static void deleteByPattern(Jedis jedis, String pattern) {
        Set<String> keys = jedis.keys(pattern);

        if(keys != null && !keys.isEmpty()) {
            String keyArr[] = new String[keys.size()];

            jedis.del(keys.toArray(keyArr));
        }
    }

// jedis的del方法源码
  public Long del(final String... keys) {
    checkIsInMultiOrPipeline();
    client.del(keys);
    return client.getIntegerReply();
  }

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

相关文章

  • Redis实现短信登录的企业实战

    Redis实现短信登录的企业实战

    本文主要介绍了Redis实现短信登录的企业实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Redis实现未读消息计数的示例代码

    Redis实现未读消息计数的示例代码

    本文介绍了合伙人系统中产品分配流程及其未读计数的实现方案,通过Redis工具类,实现了未读计数的新增、查询和重置功能,感兴趣的可以了解一下
    2025-12-12
  • 浅谈Redis变慢的原因及排查方法

    浅谈Redis变慢的原因及排查方法

    本文主要介绍了浅谈Redis变慢的原因及排查方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 在不重启的情况下热更新Redis集群密码的流程步骤

    在不重启的情况下热更新Redis集群密码的流程步骤

    当我们需要在运行中的 Redis 集群中修改密码时,可以通过 Redis 的配置命令 CONFIG SET 实现即时修改,并使用 CONFIG REWRITE 将更改持久化到配置文件中,在本文中,我们将详细介绍如何安全地更新你的 Redis 集群密码,需要的朋友可以参考下
    2024-05-05
  • redis启动失败问题之完美解决方案

    redis启动失败问题之完美解决方案

    这篇文章主要介绍了redis启动失败问题之完美解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • redis protocol通信协议及使用详解

    redis protocol通信协议及使用详解

    这篇文章主要为大家介绍了redis protocol通信协议及使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Redisson分布式锁解锁异常问题

    Redisson分布式锁解锁异常问题

    文章主要描述了在使用Redisson进行分布式锁操作时,遇到的`IllegalMonitorStateException`异常,通过分析报错信息,作者发现了问题的根源在于线程尝试解锁但未按顺序执行,作者提出了两种解决方案:在解锁前增加判断,确保线程已获得锁
    2024-12-12
  • redis 主从备份及其主备切换的操作

    redis 主从备份及其主备切换的操作

    这篇文章主要介绍了redis 主从备份及其主备切换的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Redis分片集群的实现方法

    Redis分片集群的实现方法

    Redis Cluster是Redis官方提供的分布式解决方案,它不是像哨兵那样只负责高可用切换,而是同时解决了数据分片和高可用两个问题,感兴趣的可以了解一下
    2025-08-08
  • redis实现延时队列的两种方式(小结)

    redis实现延时队列的两种方式(小结)

    这篇文章主要介绍了redis实现延时队列的两种方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论