Redis批量删除Key的三种方式小结(redis批量删除key命令)学会了吗

随心笔谈11个月前发布 admin
68 0



目录一.使用命令行批量删除redis的key二.使用图形界面工具RedisDesktopManager三.使用jedis批量删除keys

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

语法

https://www.jb51.net/article/redis-cli -h IP -p PORT -a PASSWORD -n NUM keys ‘key*’ | xargs https://www.jb51.net/article/redis-cli -h IP -p PORT -a PASSWORD -n NUM del

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

连上redis

https://www.jb51.net/article/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目前支持通过分组批量删除key

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

配置:

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

选择库,并模糊匹配key

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

引入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批量删除key的命令详解redis模糊批量删除key的方法解决redis批量删除key值的问题redis批量删除key的步骤Redis批量删除KEY的方法

© 版权声明

相关文章