欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis批量刪除key的步驟

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

由于誤用插件,某臺(tái)服務(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é)果會(huì)出現(xiàn)編號(hào),不是純粹的key列表,如下所示:

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

本人用的是Redis 5版本,未測(cè)試低版本Redis是否也會(huì)添加1),2)這樣的編號(hào)??梢韵氲?,因?yàn)榫幪?hào)的存在,管道后DEL刪除的是錯(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é)果編號(hào);
  2. xargs使用占位符,刪除key時(shí)將整個(gè)結(jié)果傳過去,避免了空格問題。

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

redis批量移動(dòng)key

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

操作方法如下:

  1. 批量移動(dòng)key:redis-cli --raw KEYS "$PATTERN" | xargs -L1 -I{} redis-cli MOVE {} 1,其中命令最后的1是備份數(shù)據(jù)庫的編號(hào);
  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,不能用 flushallflushdbflushall的區(qū)別是:flushdb 只會(huì)清空當(dāng)前數(shù)據(jù)庫的數(shù)據(jù),而flushall會(huì)清空當(dāng)前redis實(shí)例的所有數(shù)據(jù)。

redis-cli參數(shù)

上述命令使用redis-cli工具完成,在編號(hào)為0的默認(rèn)數(shù)據(jù)庫上操作。對(duì)于需要密碼、遠(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ù)請(qǐng)參考幫助文檔。

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

相關(guān)文章

  • 關(guān)于Redis數(shù)據(jù)持久化的概念介紹

    關(guān)于Redis數(shù)據(jù)持久化的概念介紹

    Redis是內(nèi)存數(shù)據(jù)庫,數(shù)據(jù)都是存儲(chǔ)在內(nèi)存中,需要定期將Redis中的數(shù)據(jù)以某種形式(或命數(shù)據(jù)令)從內(nèi)存保存到硬盤,今天給大家分享Redis數(shù)據(jù)的持久化的概念介紹,需要的朋友參考下吧
    2021-08-08
  • Redis事務(wù)與數(shù)據(jù)持久化方式

    Redis事務(wù)與數(shù)據(jù)持久化方式

    該文檔主要介紹了Redis事務(wù)和持久化機(jī)制,事務(wù)通過將多個(gè)命令打包執(zhí)行,而持久化則通過快照(RDB)和追加式文件(AOF)兩種方式將內(nèi)存數(shù)據(jù)保存到磁盤,以防止數(shù)據(jù)丟失
    2025-01-01
  • 詳解Redis中地理位置功能Geospatial的應(yīng)用

    詳解Redis中地理位置功能Geospatial的應(yīng)用

    Geospatial?Indexes?是?Redis?提供的一種數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和查詢地理位置信息,這篇文章就來和大家詳細(xì)講講Geospatial的具體應(yīng)用吧
    2023-06-06
  • Redis中List列表常用命令總結(jié)

    Redis中List列表常用命令總結(jié)

    Redis中的List API提供了一些操作列表的命令,這篇文章主要給大家介紹了關(guān)于Redis中List列表常用命令的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • redis的底層數(shù)據(jù)結(jié)構(gòu)詳解

    redis的底層數(shù)據(jù)結(jié)構(gòu)詳解

    Redis性能高得益于其優(yōu)化的數(shù)據(jù)結(jié)構(gòu),Redis的數(shù)據(jù)結(jié)構(gòu)分為對(duì)外暴露的和內(nèi)部底層的兩種,對(duì)外暴露的數(shù)據(jù)結(jié)構(gòu)包括String、list、hash、set、zset等,而內(nèi)部底層的數(shù)據(jù)結(jié)構(gòu)則包括SDS、hashtable、ziplist、linkedlist、quicklist、intset、skiplist等
    2025-02-02
  • Redis設(shè)置鍵的生存時(shí)間或過期時(shí)間的方法詳解

    Redis設(shè)置鍵的生存時(shí)間或過期時(shí)間的方法詳解

    這篇文章主要介紹了Redis如何設(shè)置鍵的生存時(shí)間或過期時(shí)間,通過EXPIRE命令或者PEXIPIRE命令,客戶端可以以秒或者毫秒精度為數(shù)據(jù)庫中的某個(gè)鍵設(shè)置生存時(shí)間,文中有詳細(xì)的代碼供供大家參考,需要的朋友可以參考下
    2024-03-03
  • redis+lua實(shí)現(xiàn)限流的項(xiàng)目實(shí)踐

    redis+lua實(shí)現(xiàn)限流的項(xiàng)目實(shí)踐

    redis有很多限流的算法(比如:令牌桶,計(jì)數(shù)器,時(shí)間窗口)等,在分布式里面進(jìn)行限流的話,我們則可以使用redis+lua腳本進(jìn)行限流,下面就來介紹一下redis+lua實(shí)現(xiàn)限流
    2023-10-10
  • 詳解Redis中的雙鏈表結(jié)構(gòu)

    詳解Redis中的雙鏈表結(jié)構(gòu)

    這篇文章主要介紹了Redis中的雙鏈表結(jié)構(gòu),包括listNode結(jié)構(gòu)的API,需要的朋友可以參考下
    2015-08-08
  • Redis常見數(shù)據(jù)類型List列表使用詳解

    Redis常見數(shù)據(jù)類型List列表使用詳解

    Redis的List是一種有序的字符串集合,支持兩端高效插入和刪除,適用于隊(duì)列和棧,這篇文章主要介紹了Redis常見數(shù)據(jù)類型List列表使用的相關(guān)資料,需要的朋友可以參考下
    2024-12-12
  • 詳解redis中的鎖以及使用場(chǎng)景

    詳解redis中的鎖以及使用場(chǎng)景

    這篇文章主要介紹了詳解redis中的鎖以及使用場(chǎng)景,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論