本文小编为大家详细介绍“Redis批量删除Key的方式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Redis批量删除Key的方式有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
一.使用命令行批量删除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的默认端口是6379Jedis 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的方式有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。