论坛首页 Java企业应用论坛

大家一起探讨一下类似淘宝商城的商品类别是怎么实现的

浏览 7725 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-05  
丁丁网搜路线的时候,我输入一个门牌号,会提示给我附近的相关建筑,这个好像跟楼上这个问题有点像。能联想。。。
0 请登录后投票
   发表时间:2011-12-05  
第一次加载的时候 直接缓存到内存里 没多大 我们系统里用到的表结构和数据量也很大 各个模块需要直接从缓存里拿的东西也很多 性能一点都不慢
0 请登录后投票
   发表时间:2011-12-07  
xici_magic 写道
第一次加载的时候 直接缓存到内存里 没多大 我们系统里用到的表结构和数据量也很大 各个模块需要直接从缓存里拿的东西也很多 性能一点都不慢

如果分类记录达到两三万是不是也可以一次加载到内存?消耗内存大不?另外,如何生成导航快速?如:一级分类>二级分类>三级分类?
1 请登录后投票
   发表时间:2011-12-30  
关于层次化的分类目录处理,前端和后端的问题似乎都有点复杂!
目录层次可能非常大而深。
后端我是这么干的,建立这么一张表(id / category name / parent id):
class Category(BaseModel):
    name = models.CharField(max_length=100, unique=False, blank=False)
    parent = models.ForeignKey('self', null=True, default=None)
    # ...

而如果是一个非常大的层次目录体系,那么请求的时候一次把所有分类都查出来,作为 XML 或 JSON 格式发送到客户端,是很不划算的。用户可能只需查询 A分类 下的 A1分类

这是我想了很久的问题,我现在的决定是这样的:
为 Category 模型设计一些按层次化获取信息的方法,比如有 top() 方法可以获取所有顶层分类(where parent=null),返回一个列表,列表中包含了所有顶层节点。节点对象有 children() 方法, 返回保存着所有子分类的节点列表。
这样就可以逐层获取所有分类信息,不需要的信息可以不进行查询。
这种设计的 django 模型参考这里:https://github.com/wonderbeyond/wonhome/blob/master/notes/models/category.py

前端我没有找到合适的解决方案。首先展现给用户的是所有的顶层分类,当某个分类被点击时再次向服务器发送请求,得到所有的子节点(以此类推,已经展开过的分类再次展开时不用再请求服务器)。但是我如何找到合理的 javascript 解决方案,设计出一个动态展开的可视化树呢?希望达人们发表高见。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics