标签: redis
我认为没有答案,但我希望那里有一些东西。 在生产中,使用KEYS是一种不好的做法,因为它将扫描所有记录(O(n))。 如果密钥数量非常多,则会影响性能。
假设数据库中有非常多的密钥,是否有任何安全的方法可以获得这些密钥?例如,如果我只是想看一个记录,我真的不在乎我得到什么。
我理解这更像是一个设计问题(例如使用select,use sets),除非我知道数据库中没有大量的数据,否则我永远不需要运行密钥。动机更多的是谨慎,因此我有一天不会运行密钥并杀死数据库因为我在不同的数据库中而不是我想的
答案 0 :(得分:2)
推荐的方法(从v2.8开始)是使用SCAN命令(和兄弟姐妹)。 SCAN基本上允许您使用光标迭代键空间,这样您就不会阻止其他操作。