• 大数据场景下基于php实现压缩字符串的方法


    点击上方“码农编程进阶笔记”,选择“置顶或者星标

    在大数据驱使下,数据量越来越多,以内容为王的时代更是让数据表越大越膨胀,导致读取数据表时返回数据变慢,访问内容页速度也相应变慢。如果能在保持内容不变,对内容进行压缩无疑也是一种网站优化。倘若每条内容长度都被压缩到之前的百倍千倍之后,整体数据表就减少了几G、几十G的存储,读取数据时返回数据速度也会提升。以下分享php压缩数据的方法,希望给需要人带来帮助。

    /**
     * 判断字符串是否base64编码
     */
    function func_is_base64($str)
    {  
        return $str == base64_encode(base64_decode($str)) ? true : false;  
    } 
    /**
     * 压缩内容
     */
    function func_gzcompress($str, $level = 9)
    {
        if (!func_is_base64($str)) {
            return base64_encode(gzcompress($str, $level));
        }
        return $str;
    }
    /**
     * 解压内容
     */
    function func_gzuncompress($str)
    {
        if (func_is_base64($str)) {
            return gzuncompress(base64_decode($str));
        }
        return $str;
    }

     压缩的方法除了gzcompress之外,还有gzdeflate、gzencode、bzcompress,经网友测试得出结果:

    •  gzcompress 速度最快,压缩比率较高。 

    • gzdeflate 压缩比率最高,速度稍慢于gzcompress 

    • gzencode 与 gzdeflate 比较接近,gzdeflate稍有优势 

    • bzcompress 速度最慢,压缩比率最慢。 

    因此建议使用 gzcompress 和 gzdeflate。

    在[ 码农编程进阶笔记 ]公众号回复【激活码】关键字,获取最新激活码百度盘链接,每天定时更新。

    c7fdc1b3ff0081a314683a100812d4b3.png

  • 相关阅读:
    关于listview嵌套listview
    Android ImageView(scaleType属性)
    在服务器端实现数据任意排序算法
    分页拖放排序dragsort
    拖放鼠标实现内容排序
    计算机科学中最重要的32个算法
    cocos2d-x 获取SD卡图片 线程 UI
    cocos2d-x 静态变量 static
    cocos2d-x 启动触摸事件
    cocos2d-x android混编时图片不显示
  • 原文地址:https://www.cnblogs.com/lxwphp/p/16811938.html
Copyright © 2020-2023  润新知