ShopNC商城系统Java版缓存体系
ShopNC多用户商城系统Java版构建了动静分离的多级缓存体系。静态文件缓存由浏览器缓存、CDN、服务器端缓存构成,动态请求缓存由分布式缓存、堆内缓存构成。商城系统采用动静分离架构,静态文件和动态请求可以完全区分处理,使整体缓存的处理更加方便灵活。
用户请求静态资源时,浏览器首先会检查本地缓存是否命中,如果没有命中才会对服务器发起请求,如果配置了CDN对服务器的请求先会对CDN节点进行查询,如果CDN节点还没有缓存该文件才会回源,对商城服务器发起请求,通过静态文件缓存服务器后请求才会最终转发到静态文件服务器。通过这一缓存体系实际到达静态文件服务器的请求将大大减少,不仅降低了静态文件服务器的压力而且缩短了用户的请求时间加快了页面的显示速度。
用户请求动态资源时首先会对堆内缓存进行查询,然后对分布式缓存进行查询如果都没有命中才会通过数据库查询并返回结果,从数据库查询后会自动进行缓存,用户再次请求相同资源时就可以从缓存直接读取。所有添加了缓存的位置如果数据发生改变都会自动对缓存进行重置,全程不需要人工处理。