gpt4 book ai didi

使用 Redis 过滤大型集合

转载 作者:可可西里 更新时间:2023-11-01 11:48:15 24 4
gpt4 key购买 nike

场景:

我有一长串具有以下属性的产品

  • 这些产品可用性/价格(来源数据)被缓存起来,将被多个客户使用。

  • 每个客户都有不同的加价规则,因此最终价格也不同。

我需要根据价格等对这些产品进行过滤。

但是,从 Redis 加载它们并重新应用规则以使用 Redis 构建过滤器非常昂贵。

有更好的方法吗?

最佳答案

通过使用排序集(Z* 命令)词法排序和复合排序集成员键,这在某种程度上是可行的,假设:

  • 过滤条件将成为排序集成员键的一部分
  • 过滤条件是有限且确定的(它们全部出现在列表中的每个成员中,或者至少可以通过使用某种占位符如关键字 :na: 来表示) > 条件不存在时 )
  • 过滤条件值本质上是标量,不代表数据范围。请注意,这不是强制性的,但如果您仍然选择太过代表具有很多“范围”值键的数据,您将最终得到“笛卡尔积”,导致存储库维护(写入/更新)成为一场噩梦并创造方式,您的 Redis 实例甚至集群无法处理的键太多。

如果以上所有情况都适用,SCAN (或者更具体地说是 ZSCAN),是你的 friend

您还可以找到更多信息here

关于使用 Redis 过滤大型集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42617271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com