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

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

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)這樣的編號??梢韵氲剑驗榫幪柕拇嬖冢艿篮驞EL刪除的是錯誤的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
主站蜘蛛池模板: 99热免费在线 | 免费大片a一级一级 | 国产在线精品香蕉综合网一区 | 青青在线视频观看 | 插入影院| 情缘1完整版在线观看 | 精品国产一级在线观看 | 亚洲精品αv一区二区三区 亚洲精品91大神在线观看 | 白丝校花掀起短裙呻吟小说 | segou视频在线观看 | 成 人 亚洲 综合天堂 | 国产精品免费视频能看 | 四虎永久在线精品国产馆v视影院 | 欧美亚洲韩国 | 青青91 | 国产不卡视频一区二区在线观看 | 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | aaaaa特级毛片 | 欧美白虎逼| 亚洲天堂男人天堂 | 小黄文污到你湿 | 国产精品视频视频久久 | 国产大秀视频一区二区三区 | 欧美日韩久久中文字幕 | 91香蕉依人综合久久 | 精品日本一区二区 | 欧美大美bbb和大白屁股 | 欧美疯狂做爰xx | 人与动人物人a级特片 | 天堂在线看 | 99re热这里只有精品视频 | 狠狠色狠狠色综合系列 | 日本老头4569gay| 99精品热视频 | 色狠狠色狠狠综合天天 | 国产免费成人在线视频 | 亚洲XXX午休国产熟女屁 | 男生同性啪视频在线观看 | chinese特色video | 亚洲精品αv一区二区三区 亚洲精品91大神在线观看 | 成年人在线观看视频 |