请问需要每秒读取一万以上个数据用什么方法比较好

馨宝宝 2016-12-20 01:58:43
需要每秒获取1万以上个数据,并且随时可以读取最近24小时(86400秒)内任意时刻的数据,用什么方法比较好?我写了一个结构体存数据,每秒在后面add数据,然而没跑多久就卡爆了,特别是在任意时刻内的数据时,卡崩溃了。请问对于这种情况有什么好的处理方法吗,以前没做过相关的项目,请各位提供下可行的思路。
...全文
841 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
datnbkvlskhbtf357 2016-12-21
  • 打赏
  • 举报
回复
阿里sql
亡命徒的故事 2016-12-21
  • 打赏
  • 举报
回复
关注中ing!
Poopaye 2016-12-20
  • 打赏
  • 举报
回复
引用 楼主 u012686890 的回复:
需要每秒获取1万以上个数据,并且随时可以读取最近24小时(86400秒)内任意时刻的数据,用什么方法比较好?我写了一个结构体存数据,每秒在后面add数据,然而没跑多久就卡爆了,特别是在任意时刻内的数据时,卡崩溃了。请问对于这种情况有什么好的处理方法吗,以前没做过相关的项目,请各位提供下可行的思路。
矛盾不?
  • 打赏
  • 举报
回复
你这种应该按规则将数据分块,每块写入一个缓存Key,否则全都写一个里面到后面肯定不行,因为每次操作都要从几万条里取
圣殿骑士18 2016-12-20
  • 打赏
  • 举报
回复
这种应用场景,就不能用List,要用Dictionary。
token不能为空 2016-12-20
  • 打赏
  • 举报
回复
每秒一万个,就算你存到list中,查询出来想要的数据也要折腾一番功夫吧
闭包客 2016-12-20
  • 打赏
  • 举报
回复
保存进数据库,不会卡的。 楼上的 Redis 也是很好的办法。
闭包客 2016-12-20
  • 打赏
  • 举报
回复
我算了一下,即使你的 list 是 int 类型,一个小时就吃掉超过 100MB 内存……
xuzuning 2016-12-20
  • 打赏
  • 举报
回复
每秒读取一万以上个数据 这是很高的速度吗?怎么想的
  • 打赏
  • 举报
回复
越来越卡是内存不够用了,GC在拼命的强制回收(会挂起工作线程),可以配置下回收策略 稍算了下,单天的数据单进程内存还是吃的消的 用redis可以一试,吞吐率比较高,可以选择在内存中缓存个5-10秒的数据,然后再推给缓存服务器,取的时候根据秒数得到索引去取缓存
xinweilee 2016-12-20
  • 打赏
  • 举报
回复
别用list,用hashtable或dictionary
馨宝宝 2016-12-20
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
谁知道你怎么写的?
谢谢,我的大致意思是一秒钟来的数据存成了个长度1万的数组array,每来一次数据array数据就被覆盖一次,但是我需要随时访问之前时刻来的数据,于是用了一种很蠢笨的方法写了个结构体list缓存之前的数据,每秒list.Add数据。没过多久list就变得很长很卡。。。我想问用什么方法缓存这些数据,可以随时访问不会卡
馨宝宝 2016-12-20
  • 打赏
  • 举报
回复
引用 6 楼 wanghui0380 的回复:
获取是获取,处理是处理。 就算你86400个hash值当索引存也没撒大不了,毕竟这种数据通常当天就清洗移除了。
谢谢,我的大致意思是一秒钟来的数据存成了个长度1万的数组array,每来一次数据array数据就被覆盖一次,但是我需要随时访问之前时刻来的数据,于是用了一种很蠢笨的方法写了个结构体list缓存之前的数据,每秒list.Add数据。没过多久list就变得很长很卡。。。我想问用什么方法缓存这些数据,可以随时访问不会卡
馨宝宝 2016-12-20
  • 打赏
  • 举报
回复
谢谢大家的回答,我的大致意思是一秒钟来的数据存成了个长度1万的数组array,每来一次数据array数据就被覆盖一次,但是我需要随时访问之前时刻来的数据,于是用了一种很蠢笨的方法写了个结构体list缓存之前的数据,每秒list.Add数据。没过多久list就变得很长很卡。。。我想问用什么方法缓存这些数据,可以随时访问不会卡
wanghui0380 2016-12-20
  • 打赏
  • 举报
回复
获取是获取,处理是处理。 就算你86400个hash值当索引存也没撒大不了,毕竟这种数据通常当天就清洗移除了。
by_封爱 版主 2016-12-20
  • 打赏
  • 举报
回复
上来就提这种需求. 你真的有这种需求吗? 那我也要开帖子问.. 如何一秒读取10E次数据库...
正怒月神 2016-12-20
  • 打赏
  • 举报
回复
Redis缓存的确可以尝试
  • 打赏
  • 举报
回复
谁知道你怎么写的?
  • 打赏
  • 举报
回复
MemoryCache+Redis二级缓存
编程有钱人了 2016-12-20
  • 打赏
  • 举报
回复
用网络游戏常用的数据库 Redis 可以帮助你!

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧