OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

关于ourjs的counts问题


分享到
关键字 提问   发布 zkwap  1411695392812
注意 转载须保留原文链接,译文链接,作者译者等信息。  
为什么counts添加新文章后统计是累加的,意思是这个月的会累计以前的记录,比如下面这样
{"53dde10822b1d99809461650":7,"53f4383783cc9d302bad6503":8} //这是8月的
{"53dde10822b1d99809461650":10,"53f4383783cc9d302bad6503":9,"54110087bac9df6c0a26d842":1} //这是9月的
想知道为什么这个月会把以前的文章统计加上呢
 
追加:
刚才看了ourjs的initArticles方法会读取article目录的所有文件,文章数量很多的情况下会不会使内存增大很多,会不会有性能问题?
追加:
刚又看了会把最新的文章counts加入countPool,这样就可以保证记录都在一起方便操作,不知道是不是这个原因?












社区评论 ( Beta版 )
  • #0 newghost 1411704907476

    这个之前我也考虑过,当时考虑了几种方案

    1) 将点击数跟文章放一起

    2) 将所有文章计数放在一个JSON文件中

    3) 将某段时间的所有文章点击放在一处

    -

    最后采用了方案 2,之所以采用保存全部记录的方式是因为,

    一个 ObjectID,如 52fb82e13bd19c4814000001 的长度是24个字符, 所以一条文章记数在JSON记录中的平均的长度最大应该不会超过40个字符

    一万篇文章所产生的大小 10000 * 40 / 1024 = 390 Kb, 这个大小是完全可以接受的,而且这样计数起来非常方便,更简单一点。

    而且ObjectID包含一个时间戳,可以很方便地找到最近一个月新发布文章的排名。

    -

    这个方案也有一点缺陷,就是无法找到最近一个月所有文章的点击排名,以后可能会改进一下。

    关于所有文章的性能问题的应该不会消耗太多,目前网站总共消耗了不到100Mb内存,不过这套系统还没有在大数据量的情况下测试过,以后可能会改进一下。

  • #1 zkwap 1411712475669

    @newghost #0

    再次感谢老大耐心的回复,在用websvr写东西,看ourjs代码学到了不少东西

  • #2 newghost 1411718137742

    @zkwap #1

    No problem

OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 关键字 - 提问
  1. redis、memcache和mongodb各自的优缺点是什么,怎么选择呢?
  2. 在node.js响应流中设置多个Set-Cookie header属性
  3. 用jQuery为跳转链接锚点添加平滑滚动动画效果(如回到顶部按钮)
  4. websvr 静态文件访问问题
  5. websvr 登录session问题
  6. websvr的Template匹配路径问题
  7. ourjs文章缓存问题
  8. 关于ourjs的counts问题
  9. 关于websvr问题
  10. 出几道JS的题:{} + [] = ?

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号