在项目开发中难免有这样的场景,需要把一个超长的字符串存储到redis中,虽然redis存储的最大字符串长度是500M,当然还是尽量做到节省服务器资源。
本人亲自测试一个正常长度为112247的字符串,压缩后长度为15544,大概差不多10倍。
使用demo
//压缩 $str1= gzcompress($string); // 解压缩 $str2 = gzuncompress($compressed);
压缩的方法除了gzcompress之外,还有gzdeflate、gzencode、bzcompress,经网友测试得出结果:
- gzcompress 速度最快,压缩比率较高。
- gzdeflate 压缩比率最高,速度稍慢于gzcompress
- gzencode 与 gzdeflate 比较接近,gzdeflate稍有优势
- bzcompress 速度最慢,压缩比率最慢。
因此建议使用 gzcompress 和 gzdeflate。