【Redis】批量删除Key的三种方式 | 您所在的位置:网站首页 › redis快速查询URL › 【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_*’![]() /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包 redis.clients jedis 2.7.0使用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 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(); } |
CopyRight 2018-2019 实验室设备网 版权所有 |