本文主要介绍了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批量删除Key的三种方式小结
- Oracle 删除大量表记录操作分析总结 2023-07-23
- 基于Python制作一个简单的文章搜索工具 2023-07-28
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- SQLSERVER调用C#的代码实现 2023-07-29
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26
- 搭建单机Redis缓存服务的实现 2023-07-13
- redis清除数据 2023-09-13
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- 在阿里云CentOS 6.8上安装Redis 2023-09-12