多数据源大数据怎么处理?

发布于 2021-12-06 17:33:54 字数 476 浏览 774 评论 8

背景:某页面中,有近30个数据点位,每个点位来源于不同的数据库,数据表。整个页面每隔固定时间刷新一次。有这样种页面N个。使用JFinal+druid连接池。

现处理方法:按页面上的数据点位名,按JSON中排列顺序,去不同数据库、数据表中取出相关数据。

存在问题:

1、数据量多时,阻塞现象严重。即某页面中,某数据未读出,影响后续数据的读取。

有没有办法可以做到几秒读不到数据,自动跳过该数据。

2、多个页面同时打开时,实际数据量更大,页面不断报错:

ERR_CONNECTION_TIMED_OUT

有没有并发处理的方法,即同时处理多条SQL语句(10或20以上)。

3、当某个数据库不能连接时,druid会不断的去连接,直到资源耗光。希望能设置读取几次后,不再尝试去读。

该怎么解决,求各位指点?野路子,没有上过学。。。。,对各种概念也不是很了解,最好能给点例子。

最后,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

筱武穆 2021-12-09 12:05:41

尝试加缓存吧,redis或者cachecloud

小情绪 2021-12-09 11:53:16

数据层面的话,通常都是使用缓存,大大减少数据库的压力,也提升速度——高并发时都这么处理。缓存除了可以在框架中实现,还可以使用redis来做。redis除了读取速度快,还能分布式共享数据。

其次,你说页面中有的数据加载慢影响其他数据的加载,这个问题难道不都是使用异步加载吗?肯定不能同步加载啊,大大影响用户体验。

夜血缘 2021-12-09 11:18:58

引用来自“苏大泉”的评论

和大数据有关系?  你理解错了

画骨成沙 2021-12-09 10:14:40

和大数据有关系?  你理解错了

累赘 2021-12-09 08:34:09

好像是两方面的问题,一方面是梳理页面加载数据的逻辑,是同时加载,还是ajax一个个加载,这个得根据你的实际需求。另外一方面后台连接数据库肯定不能请求的时候实时的切换,这样效率太低了,建议加定时任务将数据定时处理缓存起来,页面直接读取缓存;这样首先可以保证页面的访问正常,然后再专注于优化后台更新缓存的逻辑。

无法言说的痛 2021-12-09 07:19:22

首先从页面进行分解。把整个渲染变成首先渲染一个没有数据的页面,然后通过AJAX的方式,别从不同数据源获得不同区块的数据。这样就把一个大数据查询变成了几十个小数据查询。

然后就是针对不同的查询,考虑缓存措施。

瀞厅☆埖开 2021-12-08 21:54:38

1、配置数据库链接超时时间

2、增加连接池连接数

背叛残局 2021-12-08 21:52:26

定时将数据从每个数据库中查出来缓存起来,页面直接从缓存中读取数据。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文