我不认为这有一个答案,但我希望有一些东西在那里。 在制作中,使用KEYS是一种不好的做法,因为它会扫描所有记录(O(n))。 如果有非常多的按键,那可能会损害性能。Redis - 安全地检索生产数据库中的一小组密钥
假设数据库中有大量的密钥,是否有任何安全的方法来获取这些密钥中的几个?例如,如果我只是想看一张唱片,而我并不在乎我得到什么。
我明白这是更多的设计问题(例如使用select,use sets),并且我永远不需要运行键,除非我知道数据库中没有大量的数据。动机更多的是保持谨慎,所以我不会在某天运行密钥并杀死分贝,因为我处于与我想不同的数据库中
你应该很好地在控制台上运行'keys',甚至在生产分贝上。我认为警告更多的是你不想编写代码,这取决于'keys'方法。 – bgschiller
@bgschiller - nope,即使在控制台KEYS中也是危险的。原因是由于Redis(大部分)是单线程的,因此运行长时间运行的命令(例如KEYS)可能会导致DoS。 –