我不認爲這有一個答案,但我希望有一些東西在那裏。 在製作中,使用KEYS是一種不好的做法,因爲它會掃描所有記錄(O(n))。 如果有非常多的按鍵,那可能會損害性能。Redis - 安全地檢索生產數據庫中的一小組密鑰
假設數據庫中有大量的密鑰,是否有任何安全的方法來獲取這些密鑰中的幾個?例如,如果我只是想看一張唱片,而我並不在乎我得到什麼。
我明白這是更多的設計問題(例如使用select,use sets),並且我永遠不需要運行鍵,除非我知道數據庫中沒有大量的數據。動機更多的是保持謹慎,所以我不會在某天運行密鑰並殺死分貝,因爲我處於與我想不同的數據庫中
你應該很好地在控制檯上運行'keys',甚至在生產分貝上。我認爲警告更多的是你不想編寫代碼,這取決於'keys'方法。 – bgschiller
@bgschiller - nope,即使在控制檯KEYS中也是危險的。原因是由於Redis(大部分)是單線程的,因此運行長時間運行的命令(例如KEYS)可能會導致DoS。 –