以docker方式部署的redis鍵值查詢及清理

2023-02-23 18:00:43

  1、首先使用 docker ps 命令來檢視正在執行的容器。該命令會列出容器的ID、名稱、埠號、狀態等資訊。也可以使用 docker ps -a 命令來檢視所有容器,包括已經停止的容器。   

docker ps

2、列出容器後,通過容器ID進入到容器內部

docker exec -it XXXXX sh

 3、接著連線到redis服務,使用Redis-cli,它 是一個用於連線到Redis伺服器的命令列使用者端,它可以用來執行各種Redis命令,如檢視伺服器狀態、檢視鍵值對、設定和獲取鍵值對等。它也可以用於執行批次操作,如批次設定鍵值對,批次獲取鍵值對

redis-cli

4、使用Redis Auth 命令,它用於檢測給定的密碼和組態檔中的密碼是否相符。不執行沒有redis查詢等操作許可權,輸入自己的redis密碼。

auth password

5、開始執行查詢、刪除等操作先匹配,reids中資料量大不建議keys *,Redis Keys 命令用於查詢所有符合給定模式 pattern 的 key,如下圖查詢出1241條資料

keys *

6、根據要查詢的內容以xxx開頭在進行匹配,例如根據以ap:1546546465為開始的key值加*,篩選出相關資料

keys ap:1546546465*

7、對篩選出的資料進行刪除redis-cli -a password:使用redis-cli命令連線到Redis,並使用password作為密碼進行身份驗證。--scan --pattern "ap:1546546465*":使用--scan選項掃描所有的key,並使用--pattern選項指定匹配模式,以匹配所有以ap:1546546465開頭的key。| xargs -r -t -n1 -L 1000 redis-cli:將上一步的輸出作為引數傳遞給xargs命令,並使用-r選項以避免在沒有匹配結果時執行刪除操作。-t選項用於輸出執行的命令,以便進行偵錯。-n1選項指定每次執行一個命令。-L 1000選項指定每次執行1000個命令,以減少連線Redis的次數。del:使用redis-cli執行del命令刪除所有匹配的key。需要注意的是,這個命令可能會在刪除大量key時對Redis伺服器造成負載,因此建議在非高峰期進行操作。

redis-cli -a password --scan --pattern "ap:4546465465*" | xargs -r -t -n1 -L 1000 redis-cli -a password del

 8、從如何進入redis容器開始,到如何篩選KEY,再到如何刪除,保姆式詳細過程及命令解釋步驟如上。刪完再可以採用get key或者keys XXX*篩選確認下已被刪除的結果。