recrodset是一个前端数据集,可以对标准的二维数据集进行无损压缩,主要为了解决数据库查询结果想前端推送的问题。压缩比很高,能够大大改善json数据在网络传输以及前台解析的速度。由于json传解析的速度和其长度成正比,因此,压缩后的数据集解析速度明显优于浏览器直接解析json串的速度。
    文档中已经解释了json压缩的原理,大家可以按这个标准自己实现后台压缩算法。我对自己目前实现的效率还不太满意,所以,就不拿出来献丑了。http://download.csdn.net/detail/yongxiaofeiche/5893173recordset 数据集

解决方案 »

  1.   

    web服务都有 gzip 功能了没必要自己去压了二维数据集要减小,改成一维数组就行了 js再转一下就行了
      

  2.   

    直观点 name age height 就这样的表,你用recrodset如何表现
      

  3.   

    这个不如直接说是json的压缩方法。不过的确值得考虑使用。
      

  4.   

    gzip的方案已经用过了,不过它有一些这些问题。gzip有些路由不支持,这个已经在项目中遇到了。gzip消耗的cpu比较高。gzip最高的压缩比也就是50%。gzip只能节省网络消耗时间,如果数据集比较大js引擎解释的时间要大于执行recordset的时间。
      

  5.   


    这个例子中有说明,我贴到下面
    当数据中存在大量重复数据时,recordset会通过别名方式进一步压缩数据,例如凭证信息:
    [{'billcode':'10001','expfunc':'201-功能分类'},{'billcode':'10002','expfunc':'201-功能分类'},{'billcode':'10003','expfunc':'201-功能分类'},{'billcode':'10004','expfunc':'201-功能分类'}]
    压缩后:
    function(){var $1='201-功能分类';return new Ext.lt.recordset({columns:['billcode','expfunc'],datas:[['10001',$1],['10002',$1],['10003',$1],['10004',$1]]})}();