2013-04-16 66 views
1

方法KEYS(在名爲getKeysByPattern()的Rediska上)非常緩慢。在10k db上重複200次需要20-25秒!Rediska通過模式慢速獲取密鑰

例如,鍵名爲像foo:time:*:y:*:m:*:d:*:h:*:i:*:bar_name:*:item_id:*:category_id:*

它的Redis或rediska PHP客戶端的正常行爲?

回答

2

rediska getKeysByPattern使用Redis的KEYS命令

這裏是Redis的文檔有關該命令

警告一些文字(http://redis.io/commands/keys):考慮鍵作爲應當只在 中使用的命令生產環境非常謹慎。當它針對大型數據庫執行時,它可能會破壞性能 。此命令旨在用於調試和特殊操作,例如更改您的密鑰空間 佈局 。請勿在常規應用程序代碼中使用KEYS。如果您正在尋找一種方法在您的密鑰空間的子集中查找密鑰,請考慮使用 。