问题描述
我们有多个过滤器和排序用例,需要在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 (将#修改为@)