亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

redis批量刪除key的步驟

 更新時(shí)間:2020年09月09日 11:41:56   作者:tlanyan  
本文分享最新版Redis批量刪除key的方法,希望能幫到遇到同樣問題的網(wǎng)友。

由于誤用插件,某臺服務(wù)器上的redis實(shí)例存在數(shù)百萬無用的key。為了刪除無用數(shù)據(jù),上網(wǎng)查找redis批量刪除key的方法,發(fā)現(xiàn)使用過程中都有問題。經(jīng)過本人的研究,終于找到redis批量刪除key的正確用法。

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

redis批量刪除key

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

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

在本人的實(shí)踐中,這條命令存在兩個(gè)問題:

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

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

本人用的是Redis 5版本,未測試低版本Redis是否也會添加1),2)這樣的編號??梢韵氲?,因?yàn)榫幪柕拇嬖冢艿篮驞EL刪除的是錯(cuò)誤的key;

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

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

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

重點(diǎn)有兩個(gè),分別解決上述命令存在的問題:

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

改正后的命令在本人的情況下運(yùn)行正常,就是刪除兩百多萬個(gè)key有點(diǎn)慢,花了半個(gè)多小時(shí)。

redis批量移動key

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

操作方法如下:

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

注意清空當(dāng)前數(shù)據(jù)庫的命令是 flushdb,不能用 flushall。flushdbflushall的區(qū)別是:flushdb 只會清空當(dāng)前數(shù)據(jù)庫的數(shù)據(jù),而flushall會清空當(dāng)前redis實(shí)例的所有數(shù)據(jù)。

redis-cli參數(shù)

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

-n:操作的數(shù)據(jù)庫;

-a:redis數(shù)據(jù)庫密碼

-h:redis主機(jī)ip,通過-h可以遠(yuǎn)程批量刪除key

-p:redis端口

更多參數(shù)請參考幫助文檔。

以上就是redis批量刪除key的步驟的詳細(xì)內(nèi)容,更多關(guān)于redis批量刪除key的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Redis?Key使用{}原因分析

    Redis?Key使用{}原因分析

    這篇文章主要為大家介紹了Redis中Key中為什么要使用{}原因分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Redis分布式鎖的超時(shí)問題及解決

    Redis分布式鎖的超時(shí)問題及解決

    這篇文章主要介紹了Redis分布式鎖的超時(shí)問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 利用Redis統(tǒng)計(jì)網(wǎng)站在線活躍用戶的方法

    利用Redis統(tǒng)計(jì)網(wǎng)站在線活躍用戶的方法

    Redis支持對String類型的value進(jìn)行基于二進(jìn)制位的置位操作。通過將一個(gè)用戶的id對應(yīng)value上的一位,通過對活躍用戶對應(yīng)的位進(jìn)行置位,就能夠用一個(gè)value記錄所有活躍用戶的信息。下面這篇文章主要介紹了利用Redis統(tǒng)計(jì)網(wǎng)站在線活躍用戶的方法,需要的朋友可以參考。
    2017-01-01
  • 使用注解實(shí)現(xiàn)Redis緩存功能

    使用注解實(shí)現(xiàn)Redis緩存功能

    這篇文章主要為大家詳細(xì)介紹了使用注解實(shí)現(xiàn)Redis緩存功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Redis Cluster Pipeline導(dǎo)致的死鎖問題解決

    Redis Cluster Pipeline導(dǎo)致的死鎖問題解決

    本文主要介紹了Redis Cluster Pipeline導(dǎo)致的死鎖問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • 淺談redis采用不同內(nèi)存分配器tcmalloc和jemalloc

    淺談redis采用不同內(nèi)存分配器tcmalloc和jemalloc

    下面小編就為大家?guī)硪黄獪\談redis采用不同內(nèi)存分配器tcmalloc和jemalloc。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • redis限流的實(shí)際應(yīng)用

    redis限流的實(shí)際應(yīng)用

    這篇文章主要介紹了redis限流的實(shí)際應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 詳解Redis單線程的正確理解

    詳解Redis單線程的正確理解

    這篇文章主要介紹了詳解Redis單線程的正確理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 關(guān)于Redis未授權(quán)訪問的問題

    關(guān)于Redis未授權(quán)訪問的問題

    這篇文章主要介紹了Redis未授權(quán)訪問的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • 詳解redis腳本命令執(zhí)行問題(redis.call)

    詳解redis腳本命令執(zhí)行問題(redis.call)

    這篇文章主要介紹了redis腳本命令執(zhí)行問題(redis.call),分別介紹了redis-cli命令行中執(zhí)行及l(fā)inux命令行中執(zhí)行問題,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-03-03

最新評論