【问题标题】:Query on non key in RedisRedis中非key的查询
【发布时间】:2018-04-12 09:55:14
【问题描述】:

我将对象存储为哈希,例如:key-> customer:123,email->dk@gmail.com,mobile->828212,name->darshan 等...

现在可以在 redis 中根据电子邮件查询客户,而无需将交叉关系存储为集合,这更像是一种解决方法。 例如,在插入客户存储时设置为 key->email:dk@gmail.com value->customer:123 等等。 假设我在哈希中有 100 个字段,我需要查询其中的 20 个(如电子邮件) 如果我们也在 Sets 中创建这些字段的每个条目,它会显着增加 redis 实例中的键数。

还有其他替代方法或更好的方法吗?

【问题讨论】:

    标签: redis stackexchange.redis node-redis


    【解决方案1】:

    Redis 没有内置的索引/按字段搜索,因为它不是数据库,而是更像一个数据结构服务器(每个键都包含一个数据结构,如 set/list/map/sortedset/唯一值的数量等),但如果您使用的是 redis 4.0,您可以使用搜索模块来完成它。链接是here

    【讨论】:

    • 这值得一试......bt 它的性能将与对关键属性的查询一样好,甚至接近它?
    • 当然,它提供了非常好的性能,因为一切都可以被索引。我知道的唯一问题是它可以很好地用于单个 redis 实例,但是集群对 redisearch 的支持仅计划用于企业 redis。
    • 网站只提到了List,Sets,sorted sets的索引,没有说明Hash数据结构的字段实现二级索引
    猜你喜欢
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2017-02-05
    • 2011-07-20
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多