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

问题描述

我们有多个过滤器和排序用例,需要在Azure Redis中实现。

为说明起见,假设我们拥有具有OrderDate,ShippedDate,ShippedCity,OrderNumber,OrderStatus等属性的Order

财产

  1. 显示在特定持续时间内创建的前150个订单-我们可以使用排序集,然后将得分指定为OrderDate来实现
  2. 现在,我们需要按订单状态对订单进行划分-这可以通过创建具有“键像订单”的新排序集来实现。值为(OrderNo,OrderDate),其中OrderDate是得分,因为我们需要获得按状态排序的前150个Order(按OrderDate排序)
  3. 现在出现了我们的问题陈述,在特定的订单状态内,我们必须提供按多个属性排序的功能-ShippedDate,ShippedCity,OrderNumber。如何在Redis中做到这一点?

例如

  • 如果我们有100,000个订单,并且按OrderDate排序,则在给定的日期范围内,我们有10,000个订单。
  • 对于一个特定的状态,我们在相同的日期范围内有5000个订单,现在我们需要通过多个属性(ShippedDate,ShippedCity,OrderNumber)提供排序功能,然后显示对5000个订单进行排序的前150条记录。

它看起来像嵌套的SQL语句

查询1:从在date1和date 2之间创建的Date中选择OrderID,按creeatedDate desc排序-在上述示例中返回10,000个订单

Query2:从Ordertable中选择status ='Cancelled'的orderId和(Query1)中的orderID,按createDate排序-在上述示例中返回5000个订单

Query3:从Ordertable中选择状态为“已取消”的TOP 150 orderId,并在(Query1)中选择orderID,按createDate,ShippedDate排序

查询4:从订单表中选择状态为“已取消”的TOP 150订单ID,并在(Query1)中选择orderID,按createDate,发货城市排序

我们需要有关如何使用Redis缓存实现查询3和4的指南?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...