美文网首页@IT·互联网程序员
互联网创业项目技术演进(三)

互联网创业项目技术演进(三)

作者: 揾食天下 | 来源:发表于2017-06-05 13:35 被阅读0次

    上一节,我们介绍了图片存储方案,对各种规格的图片都作了很好的处理,本节我们介绍如何加快接口的访问速度。[揾食APP(三餐半)架构]

    众所周知,移动网络3G/4G是存在不稳定性的,网络信号的切换,直接导致网络访问失败。

    首先在APP端需要做的是,移动网络的检测,3G/4G/WIFI的切换,切换的瞬间网络会断开,导致网络连接失败,此时,要重新发出接口请求(重连机制)。

    在服务端,每个接口请求,背后都有大量的业务逻辑处理(如:各数据表之间的关联查询,各业务的顺序处理等)。设想一种场景:查询商品详细信息,查出商品基本信息,查询库存,查询所属商家,客服,评论等。如果每次请求该接口,都做重复的查询,给服务器带来严重的负担。面对这种情况,我们可以从以下方面考滤:

    1,在客户端请求该接口时,页面处理加载状态,但该接口请求很慢,用户等待的时间太长,造成用户体验不好。可以把这种情况拆分成几个接口来请求,如:请求基本信息,请求库存,请求评论等,这样每个接口的时间就更快,请求完了就马上展示。让用户先看到一部分信息。

    2,在接口处作缓存 ,将不常改变的信息,如:商品基本信息,所属商家 等,在处理完成后,放进缓存,下次请求时,直接从缓存中取出结果,免去了后面一大堆的业务逻辑处理,从而提升访问速度。同时一部分经常变动的数据需要实时查询(如:库存等)。

    图解

    常用的缓存服务:Redis和Memcached 都能实现该功能,推荐使用Redis , Redis支持更多的数据类型,及其它扩展功能,如:排序 ,消息队列等,除此之外,Redis还支持分布式。Redis 也可以作为NoSQL数据库来使用,Redis可分为多个不同的库,每个库的数据是相互独立的,同时数据还可以持久化。适用场景更广泛,在很多场景下,也可作为分布式session来使用。

    详情参考Redis中文官方网站:http://www.redis.cn/

    有任何问题可加入QQ群讨论:455892987

    下一节:数据存储(关系数据库与NoSQL)

    相关文章

      网友评论

        本文标题:互联网创业项目技术演进(三)

        本文链接:https://www.haomeiwen.com/subject/gbpifxtx.html