如何缓存大量机票的数据,优化航班的查询

问题描述

如何缓存大量机票的数据,优化航班的查询

先说说应用的场景,要做一套机票查询和预定以及支付的系统。
连接第三方机票数据接口,
但是对方只提供了一种查询机票的方式:通过出发地和目的地,还有日期,
可以返回那天所有航班的信息 包括航班号,起飞和到达的时间,以及每种舱位(经济舱,头等舱等等n种舱位)的价格和折扣信息等等。
例如请求上海到北京在2016年7月1日的航班 会返回大概好多航班和各个舱位对应的价格。
数据结构比较复杂,大概三四层的json,一天的单程航班信息,整体的数据量大概在250KB,非常巨大。
对方接口访问速度非常慢 第一次需要20s左右,对方应该也做了缓存,之后大概半小时内,访问速度有5s左右,也十分的慢

为了提高我们机票系统的访问效率,需要做一套缓存系统,
要缓存这些数据,目标是缓存30天 1000个航班的数据,数据量大概要6个G。
还要考虑刷新机票数据的时间间隔,既不能间隔太长(数据时效性要求较高),又不能间隔太短(担心写入速度不够快,而且对方接口是付费的)
开始考虑使用mysql 但是刷新一次数据速度极慢,但是优点是数据结构比较容易处理,便于各种查询。
求解,还有什么别的好办法,既能相对快速的从外部接口拉下来数据进行数据读写,又便于各种查询(查询维度比较多,除了基本的出发城市到达城市和日期之外,还有例如航班号,航空公司等等等)
noSQL能做到什么地步?读写速度能不能达到要求呢?内存级别的缓存的话 6G数据量太大,而且多条件的查询,不知道如何处理了。。
望有相关经验的大神,提供一些思路,谢谢!

解决方案

SQL大量数据查询的优化
SQL大量数据查询的优化
SQL大量数据查询的优化

解决方案二:

推荐使用redis用来缓存,对于你这种需求redis完全可以胜任,接口返回的类型是json你可以直接将json存入redis,如果你要封装javabean存入redis,需要序列化。

时间: 2024-11-02 16:45:48

如何缓存大量机票的数据,优化航班的查询的相关文章

Android性能优化以及数据优化方法_Android

Android性能优化-布局优化 今天,继续Android性能优化 一 编码细节优化. 编码细节,对于程序的运行效率也是有很多的影响的.今天这篇主题由于技术能力有限,所以也不敢在深层去和大家分享.我将这篇主题分为以下几个小节: (1)缓存 (2)数据 (3)延迟加载和优先加载 1> 缓存 在Android中缓存可以用在很多的地方:对象.IO.网络.DB等等..对象缓存能减少内存分配,IO缓存能对磁盘的读写访问,网络缓存能减少对网络的访问,DB缓存能减少对数据库的操作. 缓存针对的场景在Andro

Android性能优化以及数据优化方法

Android性能优化-布局优化 今天,继续Android性能优化 一 编码细节优化. 编码细节,对于程序的运行效率也是有很多的影响的.今天这篇主题由于技术能力有限,所以也不敢在深层去和大家分享.我将这篇主题分为以下几个小节: (1)缓存 (2)数据 (3)延迟加载和优先加载 1> 缓存 在Android中缓存可以用在很多的地方:对象.IO.网络.DB等等..对象缓存能减少内存分配,IO缓存能对磁盘的读写访问,网络缓存能减少对网络的访问,DB缓存能减少对数据库的操作. 缓存针对的场景在Andro

ios做数据缓存后,显示数据的逻辑是怎样的?

问题描述 ios做数据缓存后,显示数据的逻辑是怎样的? ios做数据缓存后,显示数据的逻辑是怎样的?因为有上拉加载更多,和下拉刷新,求思路 解决方案 iOS数据缓存iOS开发数据缓存玩转iOS开发 - 数据缓存 解决方案二: 1.获取服务器数据后,可以写入本地文件中,需要用到的时候再去读取就可以了: 2.分页的话类似的: 解决方案三: 每次加载页面都可以先从缓存里面读取,读不到再网络获取

mysql 数据库-mysql问题:从三个表查询数据优化

问题描述 mysql问题:从三个表查询数据优化 我有三个表,三个表的数据全部查询出来再排序,三个表的数据都很大,如何查询才能最节省资源,最优. 解决方案 可以建一个视图,把你经常要用到的字段放入视图中,当然和你的查询语句也有关系 解决方案二: 楼上说的建视图,有点换汤不换药吧! 大数据量查询,建议去看看索引方面的东西吧

mysql 插入10万条数据 优化效率

问题描述 mysql 插入10万条数据 优化效率 public int addTypes(List<taobaoBean> babyList) { String sql = "insert into type (typeid,url) values (?,?) "; Connection conn = dbhelper.getConnection(driver,url,username,upwd); int result = 0; PreparedStatement stm

以大数据优化为基础构建未来就绪企业

引言 打造未来就绪的企业,并非以"预测未来"为前提,而是面向未来做好准备. 大数据真正的价值即在于为面向未来做好准备,帮助企业规避风险. 戴尔提供专门为大数据目标而设计的端到端体系架构,助力企业通过大数据获得商业洞察,面向未来就绪. 正如纳特·西尔弗(Nate Silver)在他的畅销书<信号与噪声>(The Signal and the Noise)中写的,预测未来是非常困难的,因为"我们选择性地忽略了最难以衡量的风险,即便这些风险对我们的生活构成了最大的威胁&

大数据优化 | 以大数据优化为基础构建未来就绪企业

打造未来就绪的企业,并非以"预测未来"为前提,而是面向未来做好准备. 大数据真正的价值即在于为面向未来做好准备,帮助企业规避风险. 戴尔提供专门为大数据目标而设计的端到端体系架构,助力企业通过大数据获得商业洞察,面向未来就绪. 正如纳特·西尔弗(Nate Silver)在他的畅销书<信号与噪声>(The Signal and the Noise)中写的,预测未来是非常困难的,因为"我们选择性地忽略了最难以衡量的风险,即便这些风险对我们的生活构成了最大的威胁&quo

大数据优化人才匹配 互联网催变人力资本

["人力资本管理系统应该能够支持与员工的所有互动.从聘用到退休,从稳定的经济到快速变化的环境,企业都需要跟踪.管理并分析员工的计划.政策和成本."] 在今年5月烟台人力资源服务产业园举办的一场中国人力资源技术与服务大会上,来自中粮.沃尔玛.海尔等中国顶尖企业共同寻求世界人力资源前沿理论可能创造的机遇. 一位与会代表称:2016年世界经济运行中的不利因素和不确定性因素增多,世界经济整体复苏疲弱乏力.反观国内,2016年又是中国'十三五'的开局之年,随着供给侧改革等中央政策的实施,以及共享

如何用大数据优化技术提高LinkedIn内容运营效果数十倍

我将和大家一起从LinkedIn的战略开始,认识一下LinkedIn内容运营的历史地位和作用,分享如何运用大数据优化内容运营效果数十倍的成功经验. LinkedIn的战略并非从盈利入手 LinkedIn (领英) 由Paypal黑帮成员之一Reid Hoffman创建于2002年,致力于向全球职场人士提供沟通平台.作为全球最大的职业社交网站,目前LinkedIn会员人数在世界范围内已超过4亿.其中日活跃用户高达1亿. 很多公司都是以盈利为KPI,为一切产品设计.市场策略的唯一指挥棒.Linked