redis批量設置過期時間


 Redis 中有刪除單個 Key 的指令 DEL,但好像沒有批量刪除 Key 的指令,不過我們可以借助 Linux 的 xargs 指令來完成這個動作。代碼如下:

redis-cli keys "*" -print0 | xargs -0 redis-cli del 

但是如何實現 redis 批量設置過期時間呢,或者類似需要傳遞參數的需求?經過實踐操作如下:

編寫shell文件,名稱為“expireAll.sh”,並設置為可執行文件,內容如下:

# 給指定緩存設置1分鍾過期  
redis-cli -h 127.0.0.1 -p 6379 expire $1 60 

注:設置可執行文件命令:chmod 755 expireAll.sh  (r 4 w2 x 1),設置登錄用戶可以讀寫執行,組或者其他用戶只能讀和執行

 

2.執行如下命令,將 redis 中緩存名稱以"prefix_"為前綴的所有鍵批量設置過期時間:

redis-cli -p 6379 keys "prefix_*" | xargs -I {} ./exipreAll.sh {}  

注:“prefix_”前綴去除,就是對所有key設置超時時間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM