azure redis缓存|按日期排序,然后按第一个排序结果子集中的其他字段排序

oaxa6hgo  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(240)

我们需要在azureredis中实现多过滤器和排序用例。
为了illlustrate,让我们假设我们有order属性,比如orderdate、shippeddate、shippedcity、ordernumber、orderstatus
需求
显示在特定持续时间内创建的前150个订单-这可以通过使用排序集来实现,然后将分数指定为orderdate
现在我们需要按顺序状态划分顺序-这可以通过创建新的排序集来实现。值为(orderno,orderdate),其中orderdate是分数,因为我们需要获得按orderdate排序的前150个按状态排序的订单
现在是我们的问题陈述,在一个特定的订单状态下,我们必须提供多属性排序功能-shippeddate,shippedcity,ordernumber。如何在redis中做到这一点?
例如
如果我们有100000个订单,按订单日期排序,我们在给定的日期范围内得到10000个订单。
假设对于一个特定的状态,我们在同一日期范围内有5000个订单,现在我们需要通过多个属性提供排序功能—shippeddate、shippedcity、ordernumber,然后在对5000个订单进行排序后显示前150条记录。
它看起来像嵌套的sql语句
query1:从创建日期在date1和date2之间的订单中选择orderid,order by createddate desc——在上面的示例中返回10000个订单
query2:从ordertable中选择orderid,其中status='cancelled'和orderid in(query1),order by createdate-在上面的示例中返回5000个订单
查询3:从ordertable中选择前150个orderid,其中状态为“cancelled”,orderid位于(查询1),order by createdate,shippeddate
查询4:从ordertable中选择前150个orderid,其中状态为“cancelled”,orderid位于(query1),order by createdate,shipped city
我们需要关于如何使用redis缓存实现查询3和查询4的指导?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题