我要记录一种传感器数据,每秒100个值,我需要把时间和对应的值存储起来。 查询主要有两种,优先按照时间范围查询一个时间段内所有数据。然后就是查询值超出报警值的记录。 请问用redis怎么存储读取效率比较高? list string hash ? 用string的话,redis的key很多的时候,效率怎么样,比如我一天一个传感器800w条数据,一套32个传感器,如果用string,一天要建立2.7亿key是不是效率不高? 要是用list的话,怎么处理时间和值的对应关系,hash的话,怎么样顺序取数据,因为本人对redis不熟求指导
1条回答 默认 最新
关注不知道你这个问题是否已经解决, 如果还没有解决的话:- 请看👉 :Redis解决并发的方案
- 除此之外, 这篇博客: Redis数据类型(String、List、Hash、Set、Sorted Set)中的 3、zrevrange、zrevrangebyscore、zrevrank 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
zrevrange #以位置索引从高到低的方式获取并返回此区间内的成员 zrevrangebyscore #获取分数满足表达式x >= score >= x 的成员,并以从高到底的顺序输出。 zrevrank #获取成员索引 例: del yun zadd yun 1 a 2 b 3 c 4 d 5 e zrange yun 0 -1 zrevrange yun 0 -1 zrevrank yun a zrank yun a zrevrangebyscore yun 5 3 zrevrangebyscore yun 3 1 limit 1 2
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报