Redis:查找所有旧于某个对象的对象

1 投票
1 回答
636 浏览
提问于 2025-04-17 05:48

我在哈希集合里存储了几个对象的属性。其中包括“创建日期”这样的信息。数据库里有好几个哈希集合。

所以,我的问题是,怎么才能找到所有创建时间超过一周的对象呢?你能建议一个比O(n)更快的算法吗?(O(n)是指最简单的实现方式)

谢谢,
Oles

1 个回答

2

我最开始的想法是把数据存储在其他地方,比如关系型数据库,或者可能使用一个叫做zset的东西。

如果你有持续的数据(也就是说这些数据是在固定的时间间隔内不断更新的),那么你可以把哈希键当作成员,把日期(用整数时间戳表示)当作值来存储。这样的话,你就可以用zrank来查找特定日期的排名,然后用zrevrange从第一个排名开始查询,直到你从zrank得到的值为止。

撰写回答