使用DateTime过滤器

时间:2015-10-05 11:38:39

标签: c# windows service redis stackexchange.redis

我正在开发一个C#项目,并有以下课程:

public class myObject
{
    DateTime ArrivalTime;
    string Name;
    bool isLocal;
    string UniqueID;
}

我想基于UniqueID在Redis中推送上面的类的实例,但是可以根据对象的一个​​或多个属性来检索对象列表,例如。

获取myObject的所有实例,其ArrivalTime> DateTime.Now.AddDays(-1)和ArrivalTime< DateTime.Now

为简单起见,我愿意使用ArrivalTime作为键而不是UniqueID,如果是这样的情况我如何根据上面提到的过滤器检索对象列表?

1 个答案:

答案 0 :(得分:0)

StackExchange.Redis充当原始redis客户端;它不会尝试提供/自动化其他模式(除了非常有限的几个,例如原子锁)。您所描述的只是不是内置支持的redis操作。在redis中,索引必须手动构建;例如,ArrivalTime上的索引可以使用排序集来实现,使用UniqueID作为成员ArrivalTime作为得分,然后zrangebyscorezrevrangebyscore来查询数据(SE.Redis中的方法名称类似,但前缀为SortedSet而不是z前缀)。所以:如果你另外将你的数据手动索引到一个排序集,是的:这很容易。