ourjs文章缓存问题


发布者 zkwap  发布时间 1411954538939
关键字 提问 
ourjs里面文章缓存了两处,一个是all键值对,一个是list数组,这样就增大了内存占用,我的理解是键值对方便通过id增加删除内容,数组方便读取文章,如果是键值对读取只能用for in遍历,这样速度没数组快,不知道是不是这原因




回复 (3)
  • #
  • #1 newghost 1411955167170

    all 是一个大的 {}:主要用做分类和索引

    list 是一个排好序的 [] : 主要用作排序

    这里其实还有了很多处。

    var list              = []    //all list order with publish date
      , replyList         = []    //all list order with reply date
      , all               = {}    //all key/value pair
      , categoryArticles  = {}    //all displayed in default page
      , keywordsArticles  = {}    //filter articles by keywords
      , urlSlugsArticles  = {}    //sort articles by url slugs
      , userArticles      = {}
    

    这些存放的都是article 的JSON数据(model),JavaScript中的Object类型数据都是以引用方式存储的,应该不会增加太多的内存,而且操作起来会非常简单,如更新某个ID的文件, 直接

    all['5428b6e037452acd3e000001']['title'] = '新的标题'
    

    即可,其他比如分类,关键守的引用都会改变,然后新的文章会异步同步到硬盘,然后再次刷新缓存,因为OurJS的更新量不是很多,所以现在做的是存后必刷,以后读写操作频繁了,可能还会优化一下。

  • #2 zkwap 1411955594567

    @newghost #0

    回复太及时了,感谢老大于百忙之中抽空回复

  • #3 newghost 1411955725518

    @zkwap #1

    Welcome

微信扫码 立即评论




  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA