找到与前缀匹配的所有键,并在Redis中检索它们的值

时间:2012-09-08 23:16:04

标签: redis

我有一堆以下模式的键:

config:id:attr

现在我想通过首先查找以config:开头的所有键,然后检索它们的关联值来阅读所有配置。

这样做的有效方法是什么?

注意:keys()方法可以完成这项工作,但不建议用于生产用途。

1 个答案:

答案 0 :(得分:4)

建议不要在生产中使用密钥,因为它是O(N),其中N是redis实例中的密钥数。如果你没有很多配置值,那么使用密钥是合理的。但是,它不是很可扩展,我不推荐它。

我的解决方案是将所有配置密钥名称存储在redis中的另一个列表中。只需在添加新配置值时插入列表即可。

另一个合理的选择是将所有配置值存储在哈希中,如:

config => { "id:attr" => value }

然后,您可以通过调用hkeys('config')获取所有配置密钥。