Redis批量刪除Key的三種方式小結(jié)
Redis 中有刪除單個(gè) Key 的指令 del,但好像沒(méi)有批量刪除 Key 的指令,不過(guò)我們可以借助 Linux的 xargs 指令來(lái)完成這個(gè)動(dòng)作
一.使用命令行批量刪除redis的key
語(yǔ)法
./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服務(wù)器的IP地址PORT:redis服務(wù)的端口PASSWORD :redis服務(wù)的密碼NUM:redis庫(kù)的下標(biāo)
記得以上批量刪除,需要退出redis的命令行模式下操作。必須要指定redis的路徑
連上redis
./redis-cli -h ip -p 端口 -a 密碼選擇數(shù)據(jù)庫(kù)
select 數(shù)據(jù)庫(kù)下標(biāo)
模糊查詢(xún)key是否存在
keys ‘UPLOAD_*’

執(zhí)行exit命令 退出redis刪除 端口為 6585 密碼為 123456 且數(shù)據(jù)庫(kù)為1 中所有UPLOAD_開(kāi)頭的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目前支持通過(guò)分組批量刪除key
打開(kāi)軟件,點(diǎn)擊左下角的“Connect to Redis Server”新建redis鏈接

配置:
連接的別名(Name:自定義) Host(redis服務(wù)的ip) 端口(port) 密碼(Auth)連接到redis服務(wù)
選擇庫(kù),并模糊匹配key

在需要?jiǎng)h除的key分組上右擊“Delete Namaspace”刪除分組

三.使用jedis批量刪除keys
引入jedis包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.0</version>
</dependency>
使用jedisApi連接redis
//連接redis ,redis的默認(rèn)端口是6379
Jedis jedis = new Jedis ("localhost",6379);
//驗(yàn)證密碼,如果沒(méi)有設(shè)置密碼這段代碼省略
jedis.auth("password");
//連接
jedis.connect();
//斷開(kāi)連接
jedis.disconnect();
編寫(xiě)批量刪除的方法
方法將需要?jiǎng)h除的key轉(zhuǎn)換成數(shù)組傳入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();
}
到此這篇關(guān)于Redis批量刪除Key的三種方式小結(jié)的文章就介紹到這了,更多相關(guān)Redis批量刪除Key內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis實(shí)現(xiàn)短信登錄的企業(yè)實(shí)戰(zhàn)
本文主要介紹了Redis實(shí)現(xiàn)短信登錄的企業(yè)實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Redis實(shí)現(xiàn)未讀消息計(jì)數(shù)的示例代碼
本文介紹了合伙人系統(tǒng)中產(chǎn)品分配流程及其未讀計(jì)數(shù)的實(shí)現(xiàn)方案,通過(guò)Redis工具類(lèi),實(shí)現(xiàn)了未讀計(jì)數(shù)的新增、查詢(xún)和重置功能,感興趣的可以了解一下2025-12-12
redis實(shí)現(xiàn)延時(shí)隊(duì)列的兩種方式(小結(jié))
這篇文章主要介紹了redis實(shí)現(xiàn)延時(shí)隊(duì)列的兩種方式(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

