Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找与前缀匹配的所有键并在Redis中检索它们的值_Redis - Fatal编程技术网

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

查找与前缀匹配的所有键并在Redis中检索它们的值,redis,Redis,我有一堆以下模式的钥匙: config:id:attr 现在,我想通过首先查找以config:开头的所有键,然后检索它们的关联值来读取所有配置 这样做的有效方式是什么 注意:keys()方法执行此任务,但不建议在生产环境中使用。不建议在生产环境中使用keys,因为它是O(N),其中N是redis实例中的键数。如果您没有很多配置值,那么使用键是合理的。但是,它的可扩展性不是很强,我不推荐它 我的解决方案是将所有配置键名称存储在redis的另一个列表中。添加新的配置值时,只需将其插入列表即可 另一

我有一堆以下模式的钥匙:

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

这样做的有效方式是什么


注意:
keys()
方法执行此任务,但不建议在生产环境中使用。

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

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

另一个合理的选择是将所有配置值存储在散列中,如下所示:

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

然后,您可以通过调用hkeys(“config”)来获取所有配置键。

我选择了您的第一种方法—分别维护一组配置键。谢谢