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

标签 redis

我有一堆具有以下模式的键:

config:id:attr

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

执行此操作的有效方法是什么?

注意:keys() 方法可以完成这项工作,但不建议在生产环境中使用。

最佳答案

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

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

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

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

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

关于redis - 查找与前缀匹配的所有键并在 Redis 中检索它们的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335238/

相关文章:

node.js - 在集群架构中横向扩展 RAM?

redis - 对 Redis 数据结构感到困惑

ruby-on-rails - 如何使用 ruby​​ on rails 从 redis 获取所有匹配的 key

ruby - 哪种redis数据类型适合存储用户?

java - SpringSession DefaultCookieSerializer.setJvmRoute 有效,但 HttpServletRequest 没有所需的 jvmRoute

redis - 是否可以链接redis中的两个哈希

redis - 使用 Redis INCR 超过 Int64 最大值时会发生什么

Redis 发布/订阅 vs Rabbit MQ

雷迪斯 : delete keys not starting with prefix

spring-boot - lettuce客户端连接redis时出现内存泄漏错误