在数据库中存储字符串的时候,为了节约空间,能够先使用gzip
对内容压缩,而后再进行存储。gzip
在浏览器的交互中比较常见,记得,以前在nginx
的配置上,还专门开启过gzip
的支持。html
gzip
的压缩效率如何到底如何呢?固然,确定跟具体的数据量级也有关系。下面,咱们进行gzip
压缩操做,看一下实际的效果:nginx
准备数据:数据库
{"name":"道道法","age":26,"blogs":[100,201,333]}
首先,咱们计算原始的json
串占用空间的大小json
# 使用wc命令,-c属性表示,输出内容的byte数,输出值:44 echo "{"name":"道道法","age":26,"blogs":[100,201,333]}" | wc -c
接下来,咱们对数据进行gzip
处理,看一下效果:浏览器
# 输出值:63,这确实是一个失败的例子 echo "{"name":"道道法","age":26,"blogs":[100,201,333]}" | gzip -f | wc -c
经过上面的效果能够看出,gzip
在处理小数据量的压缩时,其实效果并很差。bash
还有一点,gzip
压缩后的结果是无法直接存储成string
数据的。因此,引入下一个命令base64
,将raw data
转换成string
。命令很简单,就再也不赘述。介绍一下base64
的编码过程,下面 Copy 阮老师的博客 :编码
综上所诉,Base64
将三个字节转化成四个字节,所以Base64
编码后的文本,会比原文本大出三分之一左右。code