一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - redis批量刪除key的步驟

redis批量刪除key的步驟

2020-09-20 16:46tlanyan Redis

本文分享最新版Redis批量刪除key的方法,希望能幫到遇到同樣問題的網友。

由于誤用插件,某臺服務器上的redis實例存在數百萬無用的key。為了刪除無用數據,上網查找redis批量刪除key的方法,發現使用過程中都有問題。經過本人的研究,終于找到redis批量刪除key的正確用法。

本文分享最新版Redis批量刪除key的方法,希望能幫到遇到同樣問題的網友。

redis批量刪除key

網上許多文章和教程給出的redis批量刪除key命令是:

?
1
redis-cli KEYS "$PATTERN" | xargs redis-cli DEL

在本人的實踐中,這條命令存在兩個問題:

1.redis-cli KEYS "$PATTERN"的結果會出現編號,不是純粹的key列表,如下所示:

?
1
2
3
[root@node1]# redis-cli keys "*"
1) ":default:is_blog_installed"
2) ":site-options:1-notoptions"

本人用的是Redis 5版本,未測試低版本Redis是否也會添加1),2)這樣的編號。可以想到,因為編號的存在,管道后DEL刪除的是錯誤的key;

2.如果key存在空格,管道后面的DEL將無法正確刪除。例如key是”123 4566″,傳送到管道后面刪除,就變成了刪除兩個key,與預期不符合。

經過一番研究,redis批量刪除key的正確命令是:

?
1
redis-cli --raw KEYS "$PATTERN" | xargs -I {} redis-cli DEL "{}"

重點有兩個,分別解決上述命令存在的問題:

  1. 使用 –raw 參數,去掉結果編號;
  2. xargs使用占位符,刪除key時將整個結果傳過去,避免了空格問題。

改正后的命令在本人的情況下運行正常,就是刪除兩百多萬個key有點慢,花了半個多小時。

redis批量移動key

如果你知道有用key的模式,并且有用key數量很小,可以通過redis批量移動key,然后flushdb的方法快速刪除,效率比上文提到的批量刪除大量無用key高很多。

操作方法如下:

  1. 批量移動key:redis-cli --raw KEYS "$PATTERN" | xargs -L1 -I{} redis-cli MOVE {} 1,其中命令最后的1是備份數據庫的編號;
  2. 清空當前數據庫:redis-cli flushdb
  3. 還原key:redis-cli -n 1 --raw KEYS "$PATTERN" | xargs -L1 -I{} redis-cli MOVE {} 0

注意清空當前數據庫的命令是 flushdb,不能用 flushallflushdbflushall的區別是:flushdb 只會清空當前數據庫的數據,而flushall會清空當前redis實例的所有數據。

redis-cli參數

上述命令使用redis-cli工具完成,在編號為0的默認數據庫上操作。對于需要密碼、遠程redis主機的情況,redis-cli有如下有用參數:

-n:操作的數據庫;

-a:redis數據庫密碼

-h:redis主機ip,通過-h可以遠程批量刪除key

-p:redis端口

更多參數請參考幫助文檔。

以上就是redis批量刪除key的步驟的詳細內容,更多關于redis批量刪除key的資料請關注服務器之家其它相關文章!

原文鏈接:https://tlanyan.me/redis-batch-delete-keys/

延伸 · 閱讀

精彩推薦
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
主站蜘蛛池模板: 我的绝色岳每雯雯 | gaychinese男男2022| 好湿好紧太硬了我太爽了h 好湿好滑好硬好爽好深视频 | 色戒真做gif动图 | 日本高清免费中文字幕不卡 | 日本xxwwwxxxx | 小伙无套内射老女人 | 国产一区二区三区四区波多野结衣 | 午夜欧美精品久久久久久久 | 日本久久啪啪婷婷激情五月 | 热久久最新视频 | 国产日韩欧美精品在线 | 亚洲精品片 | 欧美一区二区三区四区五区六区 | 女人张开腿让男人桶视频免费大全 | 免费网站直接进入 | www日本高清视频 | 亚洲阿v天堂2018在线观看 | 亚洲va在线va天堂va偷拍 | 隔壁老王国产精品福利 | 女人全身裸露无遮挡免费观看 | 日韩在线观看一区二区不卡视频 | 亚洲精品一区二区久久久久 | 精品久久久久久国产 | 午夜理论片日本中文在线 | 韩国三级在线观看 完整版 韩国三级视频网站 | 好姑娘在线观看完整版免费 | 男人女人日批 | 美女一线天 | 校花在公车上被内射好舒服 | np高h疯狂黄暴宫口 narutomanga玖辛奈之乳 | 2019自拍偷拍视频 | 99这里只有精品视频 | 男同gay玩奴男同玩奴 | 经典WC女厕所里TV | 久久久精品3d动漫一区二区三区 | 性吧有你| 免费观看成年肉动漫网站 | 国产福利一区二区在线精品 | 456亚洲老头视频 | 国产亚洲福利精品一区二区 |