如何解决Azure Redis缓存|按日期排序,然后按第一个排序结果子集中的其他字段排序
我们有多个过滤器和排序用例,需要在Azure Redis中实现。
为说明起见,假设我们拥有具有OrderDate,ShippedDate,ShippedCity,OrderNumber,OrderStatus等属性的Order
财产
- 显示在特定持续时间内创建的前150个订单-我们可以使用排序集,然后将得分指定为OrderDate来实现
- 现在,我们需要按订单状态对订单进行划分-这可以通过创建具有“键像订单”的新排序集来实现。值为(OrderNo,OrderDate),其中OrderDate是得分,因为我们需要获得按状态排序的前150个Order(按OrderDate排序)
- 现在出现了我们的问题陈述,在特定的订单状态内,我们必须提供按多个属性排序的功能-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 举报,一经查实,本站将立刻删除。