Redis批量刪除Key的三種方式小結(jié)
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服務(wù)器的IP地址PORT:redis服務(wù)的端口PASSWORD :redis服務(wù)的密碼NUM:redis庫的下標
記得以上批量刪除,需要退出redis的命令行模式下操作。必須要指定redis的路徑
連上redis
./redis-cli -h ip -p 端口 -a 密碼選擇數(shù)據(jù)庫
select 數(shù)據(jù)庫下標
模糊查詢key是否存在
keys ‘UPLOAD_*’
執(zhí)行exit命令 退出redis刪除 端口為 6585 密碼為 123456 且數(shù)據(jù)庫為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服務(wù)的ip) 端口(port) 密碼(Auth)連接到redis服務(wù)
選擇庫,并模糊匹配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); //驗證密碼,如果沒有設(shè)置密碼這段代碼省略 jedis.auth("password"); //連接 jedis.connect(); //斷開連接 jedis.disconnect();
編寫批量刪除的方法
方法將需要刪除的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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux下安裝Redis并設(shè)置相關(guān)服務(wù)
這篇文章主要為大家介紹了Linux下安裝Redis并設(shè)置相關(guān)服務(wù),感興趣的小伙伴們可以參考一下2016-01-01Redis底層數(shù)據(jù)結(jié)構(gòu)詳解
這篇文章主要介紹了Redis底層數(shù)據(jù)結(jié)構(gòu),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08redis中token失效引發(fā)的一次生產(chǎn)事故
項目再測試的時候發(fā)現(xiàn)不定時token失效,本文主要介紹了redis中token失效引發(fā)的一次生產(chǎn)事故,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03使用JMeter插件Redis Data Set如何實現(xiàn)高性能數(shù)據(jù)驅(qū)動測試
RedisDataSet插件是JMeter的一個插件,可以實現(xiàn)從Redis中動態(tài)加載數(shù)據(jù),并將其用作測試參數(shù),本文詳細介紹如何在JMeter中使用RedisDataSet插件,幫助你實現(xiàn)高效的數(shù)據(jù)驅(qū)動測試2025-01-01