Redis Hash 可以取范围吗?

2017-08-10 12:15:08 +08:00
 ioioioioioioi
比如,Hash 有值 created_at,存的值为日期:2017-09-01, 是否可以取出所有给出范围内(比如,过去两个月)的所有 Hash。
2004 次点击
所在节点    问与答
2 条回复
sagrada
2017-08-10 14:46:35 +08:00
并不能
crazyneo
2017-08-10 14:54:09 +08:00
redis 的 scan 设计的非常精巧,为了实现 iterator 功能是先取反再加再部分取反,有空可以看一下代码实现。
但是这个并不能满足你的需求,hscan 只能把所有 hash key 和 value 给遍历一遍,不能做到范围查找,你只能一个一个自己手动处理。
实际上 nosql 系列里能做 range look up 的就我所知只有 mongodb,但人家也不支持 hash range

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/381888

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX