假如 Redis 里面有 1 億個 key,其中有 10w 個 key 是以 某個固定的已知的前綴開頭的,如果將它們全部找出來?


使用 keys 指令可以掃出指定模式的 key 列表

對方接着追問如果這個 redis 正在給線上的業務提供服務那使用 keys 指令會 

有什么問題

這個時候你要回答 redis 關鍵的一個特性:redis 的單線程的。keys 指令會導致線 

程阻塞一段時間線上服務會停頓直到指令執行完畢服務才能恢復這個時 

候可以使用 scan 指令,scan 指令可以無阻塞的提取出指定模式的 key 列表 

是會有一定的重復概率在客戶端做一次去重就可以了但是整體所花費的時間 

會比直接用 keys 指令長


免責聲明!

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



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