美文网首页
批量删除Redis Key

批量删除Redis Key

作者: AC编程 | 来源:发表于2021-11-30 10:25 被阅读0次

    方式一:Linux命令完成批量删除

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

    ./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的路径。

    1、连上redis
    ./redis-cli -h ip -p 端口 -a 密码

    2、选择数据库
    select 数据库下标

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

    4、执行exit命令退出redis

    5、删除 端口为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

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

    Delete Namaspace

    注意:如果Redis是集群模式,Delete Namaspace可能会失败。

    方式三:使用jedis批量删除keys

    3.1 引入jedis包
    <dependency>
         <groupId>redis.clients</groupId>
         <artifactId>jedis</artifactId>
         <version>2.7.0</version>
    </dependency>
    
    3.2 使用jedisApi连接redis
    //连接redis ,redis的默认端口是6379
    Jedis  jedis = new Jedis ("localhost",6379); 
    
    //验证密码,如果没有设置密码这段代码省略
    jedis.auth("password"); 
    //连接
    jedis.connect();
    
    //断开连接
    jedis.disconnect();
    
    3.3 编写批量删除的方法

    方法将需要删除的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();
      }
    

    资料来源

    批量删除REDISKEY的三种方式

    相关文章

      网友评论

          本文标题:批量删除Redis Key

          本文链接:https://www.haomeiwen.com/subject/jdzrxrtx.html