簡體   English   中英

redis掛在flushall命令上

[英]redis hangs on flushall command

我使用 FLUSHALL 命令刪除我的 redis 緩存。 來自文檔:

刪除所有現有數據庫的所有鍵,而不僅僅是當前選擇的鍵。 這個命令永遠不會失敗

但它掛在我巨大的 redis 實例上(在我的情況下大約為 20GB),然后我終止 redis 服務器,清除 redis 備份目錄並重新啟動 redis 服務器。 一切似乎都很好,但這樣做是個好方法嗎? 為什么沖洗掛起?

我遇到了同樣的問題,我的 64G 內存至強在大約兩個小時內沒有響應。 最后我用

kill -9 redisPID
rm dump.rdb
service redis restart

像魅力一樣工作))

它掛起是因為它必須刪除數百萬個項目。 這需要一段時間,因為它必須掃描所有內容。 您可能還會換出部分數據。

您可能需要檢查機器在運行 flushall 時是否沒有交換。

FLUSHALL ASYNC(Redis 4.0.0 或更高版本)

Redis 現在可以在不同線程的后台刪除鍵,而不會阻塞服務器。 向 FLUSHALL 和 FLUSHDB 添加了 ASYNC 選項,以便異步釋放整個數據集或單個數據庫。

異步 FLUSHALL 和 FLUSHDB 命令僅刪除調用命令時存在的鍵。 在異步刷新期間創建的鍵將不受影響。

沖洗

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM