我正在尝试找到针对ReportingDate密钥存储List对象集的最佳实践(高效)方法。
列表可以被选择为Xml / DataContract或ProtoBuf ....
鉴于一些数据可能很大(对于那一段关键字):
TNX
答案 0 :(得分:2)
听起来你想要一个有序集 - 见https://redis.io/topics/data-types#sorted-sets。您可以使用日期作为值,也许在纪元时间(因为它需要是一个数字)。 SE.Redis支持您期望获得值范围的所有操作(位置范围 - 前20个记录等;或绝对范围基于值 - 两个日期之间的所有项目以相同单位表示)。查看以“SortedSet ...”开头的方法。
值可以是二进制,因此protobuf-net很好(您可以单独序列化每个日期的值)。只需传递byte[]
作为值。您需要单独处理序列化到redis库。
至于交换数据:没有。 Redis具有基于日期的到期日期,但没有冷热存储。它要么存在,要么不存在。您可以使用计划任务基于日期范围清除或移动数据,再次使用任何Z *(redis)或SortedSet *(SE.Redis)方法。
有关Z *操作的完整列表,请参阅:https://redis.io/commands#sorted_set。它们都应该在SE.Redis中提供。