在最近的项目中主站列表提出了优化性能的需求,因为列表页的数据都是动态加载的,不存在页面静态化和页面缓存技术的处理,首先我们想到的优化方案是加一级缓存进行实现。进行考虑后,我们选用了基于spring-data-redis进行实现,使用redis进行数据缓存。
选定了实现技术后,其中说明下业务场景和需求如下:
1)列表页展示数据为当前产品标的数据,其中包括募资中,已售罄(募资完成、计息中),预发布状态的标的。展示数据量在1w+上设计。
2)产品标的数据,调用链为主站web【应用端】->标的查询服务【服务端】->db(从应用端到服务端调用方式为HTTP),即使使用HTTP连接池,但因为查询db性能不高,HTTP超时严重。
3)募资中和预发布标的允许短暂缓存,已售罄标的可永久缓存。募资中和预发布标的数量不确定,也就是说在进行分页查询时,基于页数据进行缓存,缓存由请求控制进行刷新。