GG

你好,我叫JAVA,上家公司是浙江飞烨。工作到现在差不多三年了,主流技术和框架都用过。

最近做的是一个APP项目,当时我们项目分APP接口项目,server后台项目,还有个微信项目这三块。手机版主要由H5加安卓和IOS实现。

后台当时用的是Spring+Struts+hibernate框架。主要为前端提供数据,和接收更新。

app端是一个web接口项目,由于牵扯到大用户量的频繁访问,为了避免项目后期越拖越慢,所以架构思想上讲,整个项目能用静态化的用静态化,不能用静态化的全部用的缓存。

当时我们项目redis缓存用的是redis集群也配置了哨兵模式。具体到项目中的推荐和首页轮播等都用redis做缓存,我们的缓存策略是实时更新。操作完数据库就更新缓存。首页轮播我们考虑到图片加载速度慢的问题,把图片进行了纵切割,加载的时候看似是一张图片,其实是一组<a>标签

说道数据库当时我们这三个项目用的一个数据库,当时我们配置了一个Mysql集群。

手机的检索当时我们用的是solr.

我们的项目业务:像手机端首页轮播,推荐专区,分享,产品列表,个人中心和我的资产,支付,认证,注册,登录。

还有就是我们的管理后台,我们APP端每个活动功能,在后台都是能清晰的查到数据。但主要分为五大类首页,运营管理,功能管理,报表管理和系统管理五大类。

我主要负责运营管理里面的功能。

多线程如何实现。一般都是实现runnable接口或者继承thread抽象类。我们当时采用了线程池来实现。JAVA提供了好几种线程池,缓存,定长,定时,单例。我们当时用的是定时线程池

首页轮播图:我们首先在运营中心添加轮播图,同时调用redis来存储轮播图路径,我们使用方法名+时间戳的方式作为key,json字符串作为value。APP端发送请求时,我们server端直接到redis取出所有轮播图路径返回到前台。

原文地址:https://www.cnblogs.com/gyc1996/p/8573978.html