当用户进入京东首页,点击搜索手机进入搜索页面,点击一款手机进入商品详情页面,主要展示商品的信息,主要分为三块信息:

  1:基本信息:展示商品的基本信息,包括sku价格等基本信息.

2:商品描述(商品详情页下面商品信息的tab页面的第一个默认选中页面)

3:商品的规格参数(商品详情页下面商品信息的tab页面中第一个商品描述之外的其他页面包括商品的规格参数,评论,售后保障下面箭头所示等信息.)

商品详情页项目架构设计:

  1:商品的基本信息是用户在商城首页输入手机后再搜索引擎中返回商品结构,搜索引擎索引中只保存商品列表中的一部分商品展示信息,当用户点击一个商品就进入了商品详情页.

    点击进入后第一个展示的就是商品的基本信息包括sku(颜色,尺寸等)规格参数,这些基本信息可以在商品显示商品详情页面的时候就查询显示个用户看.

  2:商品描述的内容往往比较多,如果在加载商品详情页面的时候就显示出来就影响加载速度,为了快速响应用户,商品的描述可以延迟加载,延迟一秒钟加载。用js控制页面加载完

    一秒钟以后再去用ajax去调用本项目的controller,controller去调用远程的rest接口获取然后返回商品描述html显示在页面上面,

    设置延迟一秒钟可以用js的setTimeout方法,setTimeout设置延迟一秒钟,setTimeout只会执行一次.

    这里的查询还可以通过jsoup直接调用远程rest服务.这里推荐使用调用前面说的controller方式。

  3:商品的规格参数和评论等其他的tabs信息(按需加载)可以按需加载,当用户点击商品规格这些tabs标签页是在去加载,如果用户不点击就不用去查询,可以减少服务器压力。

    同样这里的查询和商品2中的一样,可以ajax查询本地controller在去调用rest服务,也可以在页面上面直接使用jsoup跨域去调用远程的rest服务.

缓存: 查询商品的基本信息和商品的描述和规格参数是三个服务,也就是说一个商品详情页面的信息展示分三个服务三个步骤查询,

    当然也可以根据实际情况分得更细,为了减少数据库查询压力,可以使用redis对一个商品的上面三个信息进行缓存,

    比如可以的命名方式可以为 "product:productdetail:123123"的方式 123123是具体一个商品的id,前面的product:productdetail

    是模块名字.redis数据结构推荐使用key,value 的string方式,因为hash等数据结构对设置过期时间支持得不太方便,不能为hash里面的单独key设置一个过期时间

    这里可以设置redis缓存过期时间为一天,当一个用户访问以后一天以内如果没有其他人访问这个商品的详情页面,缓存就过期,

    如果有人访问这个商品的详情页面这里可以更新redis中的商品信息过期时间(这样做的好处是热门商品可以加长过期时间,减少数据库查询次数)

    同时为了数据的实时性,也要开放一个删除redis里面的商品的接口,让修改和删除了商品的时候调用。

    更详细的京东详情页项目架构设计参考:http://blog.csdn.net/hunci/article/details/50424760#0-qzone-1-18510-d020d2d2a4e8d1a374a433f596ad1440

    做电商网站可以多参考京东淘宝的功能是怎么实现的,比如是否使用ajax删除购入车,购物车是否使用cookie还是数据库,

    京东的购物车如果没有登录就是用的cookie如果用了就是用的数据库(应该是redis)。多参考他们的用户体验。

    

转载于:https://www.cnblogs.com/ganbo/p/6944332.html

电商项目商品详情页架构设计相关推荐

  1. 微信小程序电商项目商品详情页开发实战之数据绑定与事件应用

    各位CSDN的朋友,我们都知道,现在微信小程序电商平台特别火爆,所以我将以一个生鲜电商项目为例,为大家讲述微信小程序的实战化开发,价值几万元的成熟项目,你可千万不要错过哦. 大家直接通过视频链接直接看 ...

  2. 61分布式电商项目 - 商品详情页

    需求分析 运用 Freemarker 技术来实现商品详细页的静态化.通过地址栏输入某地址,如下形式 http://localhost:9101/gen_item.do?goodsId=14918784 ...

  3. 电商项目-商品详情页的实现

    1. 需要做的事情 l 商品详情页实现 1.商品查询服务事项 2.商品详情展示 3.添加缓存 2. 实现商品详情页功能 2.1. 功能分析 1.Taotao-portal接收页面请求,接收到商品id. ...

  4. 电商APP商品详情页设计套路(分层PSD模板)!透析UI/UE必须懂的营销设计思维!

    电商APP重点在于商品详情页,打造一个优秀的商品详情页,完全能够提高转化率! UI设计.交互体验.文案撰写.产品的商业模式来聊一聊电商app商品详情页是怎么"套路" 设计app商品 ...

  5. Java生鲜电商平台-商品中心的架构设计与源码解析(小程序/APP)

    Java生鲜电商平台-商品中心的架构设计与源码解析(小程序/APP) 说明:Java生鲜电商平台中,由于商品的架构很大程度决定了电商的扩展性与伸缩性.对此根据自己多年的生鲜电商经验,整理了以下的商品中 ...

  6. Java生鲜电商平台-商品基础业务架构设计-商品设计

    Java生鲜电商平台-商品基础业务架构设计-商品设计 在生鲜电商的商品中心,在电子商务公司一般是后台管理商品的地方.在前端而言,是商家为了展示商品信息给用户的地方,它是承担了商品的数据,订单,营销活动 ...

  7. 电商详情页系统实战(2) -小型电商网站商品详情页的页面静态化架构及缺陷

    商品详情页的系统架构 => 缓存架构 => 高并发 => 高可用 电商网站里,大概可以说分成两种 小型电商 简单的一种架构方案,页面静态化的方案 大型电商 复杂的一套架构,大电商,国 ...

  8. Java电商系统商品详情页存储方案设计

    先考虑好两个 1 核心问题 1.1 并发 不管什么电商系统,商品详情页一定是整个系统中日均访问次数最高的页面之一.不难理解,用户购物,看商品详情不一定买,一定会看好多商品详情页货比三家.如果在设计存储 ...

  9. Java生鲜电商平台-商品中心的架构设计与源码解析

    说明:Java生鲜电商平台中,由于商品的架构很大程度决定了电商的扩展性与伸缩性.对此根据自己多年的生鲜电商经验,整理了以下的商品中心思维导图 对于没有接触过生鲜电商的童鞋,可能对基础类目没什么概念.其 ...

最新文章

  1. 新款Tesla最低仅售26.2万,马斯克终于凑齐了S3XY
  2. 5种数据同分布的检测方法!
  3. NodeJS Events模块源码学习
  4. VS在windows进行网络开发UDP(一)
  5. Objective-C开发编码规范
  6. F1 score,micro F1score,macro F1score 的定义
  7. list.php tid= field,dedecms列表页模板中调用当前栏目文章数
  8. IOS 单行文本输入框 UITextField 使用
  9. Ubuntu 软件源sources.list
  10. linux C(hello world)最大公约数和最小公倍数
  11. mysql全局sce_cisco SCE 第二部分 SCE平台的安装配置
  12. 配置百度云CDN加速
  13. window多个oracle查版本,Oracle SQL多版本VERSION_COUNT产生的可能性
  14. CorelDRAWX4的VBA插件开发(二十九)使用C++制作动态连接库DLL辅助VBA构键强大功能-(3)制作最简单的可供调用的DLL
  15. 车间调度丨布谷鸟算法:以算例MK01为例
  16. IDL调用ENVI-FLAASH大气校正异常退出解决办法
  17. 定义复数java_自定义数据类型 复数的Java实现
  18. 哪一类功率放大电路效率最高_让我们来复习一下功率放大电路与集成运算放大电路...
  19. java读取服务器上文件,java 读取linux服务器上文件
  20. 软件设计中的“自上而下”和“自下而上”

热门文章

  1. The maximum number of apps for free development profiles has been reached.
  2. python输入年月日输出年月日_新手学习必看的0基础入门Python与python的输入输出...
  3. Tekla钢结构二次开发 第5节正交梁、螺旋梁以及工作平面
  4. linux freemind字体,解决freemind在Ubuntu中输入中文问题
  5. 序文 【IT圈是个什么玩意儿 1 】
  6. Android系统10 RK3399 init进程启动(十八) isLoggable日志级别输出控制
  7. cf1149E. Election Promises
  8. CSS 样式继承 inherit 属性
  9. 配置 Vue 实例( 选项 )
  10. 设计模式之门面模式详解