2017-03-06 71 views
-1

场景:过滤大集与Redis的

我有具有以下性质

  • 这些产品的可用性/价格(源数据)的缓存,并将由多个使用的产品的大名单客户端。

  • 每个客户对它们都有不同的标记规则,因此不同的最终价格。

我需要在基于价格的产品等。然而应用过滤..

,从Redis的加载它们,并重新应用规则建立过滤器,Redis的是昂贵的。

有没有更好的方法来做到这一点?

+0

见我的回答如下。它有帮助吗? – Sheinbergon

回答

0

这在一定程度可行通过使用sortedsets(Z *命令)词汇顺序&化合物排序集成员键假设:

  • 过滤标准将被分拣设定构件键的一部分
  • 过滤标准是有限&确定性(所有这些都每个成员的出现在列表中,或者至少它可以表示通过使用某种占位的像关键字:na:其中标准是不存在这样)
  • 滤波criter ia值本质上是标量,并不代表数据范围。请注意,这不是强制性的,但是如果您仍然选择代表具有很多“范围”值键的数据,那么您将得到'笛卡尔产品',导致存储库维护(写入/更新)成为一场噩梦并创建方式,你的Redis实例甚至集群要处理的键太多了。

如果以上所有的应用,SCAN(或ZSCAN更具体),是你的朋友

您还可以找到更多信息here